home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-ifmib-evolution-01.txt < prev    next >
Text File  |  1993-07-08  |  113KB  |  3,190 lines

  1.  
  2.  
  3.           Draft             Interfaces Group Evolution         June 1993
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                    Evolution of the Interfaces Group of MIB-II
  10.  
  11.                                    28 June 1993
  12.  
  13.  
  14.                                  Keith McCloghrie
  15.                                 Hughes LAN Systems
  16.                                    kzm@hls.com
  17.  
  18.                                Frank J. Kastenholz
  19.                                    FTP Software
  20.                                   kasten@ftp.com
  21.  
  22.  
  23.  
  24.           Status of this Memo
  25.  
  26.           This document is an Internet Draft.  Internet Drafts are
  27.           working documents of the Internet Engineering Task Force
  28.           (IETF), its Areas, and its Working Groups.  Note that other
  29.           groups may also distribute working documents as Internet
  30.           Drafts.
  31.  
  32.           Internet Drafts are valid for a maximum of six months and may
  33.           be updated, replaced, or obsoleted by other documents at any
  34.           time.  It is inappropriate to use Internet Drafts as reference
  35.           material or to cite them other than as a "work in progress".
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.           Expires December 1993                                 [Page 1]
  57.  
  58.  
  59.  
  60.  
  61.           Draft             Interfaces Group Evolution         June 1993
  62.  
  63.  
  64.           1.  Introduction
  65.  
  66.           MIB-II [4] is the core set of managed objects defined for use
  67.           by network management of the Internet suite of protocols.
  68.           MIB-II was defined using the SNMPv1 Network Management
  69.           Framework.
  70.  
  71.           This memo discusses the 'interfaces' group of MIB-II,
  72.           especially the experience gained from the definition of
  73.           numerous media-specific MIB modules for use in conjunction
  74.           with the 'interfaces' group for managing various sub-layers
  75.           beneath the internetwork-layer.  It proposes clarifications
  76.           to, and extensions of, the architectural issues within the
  77.           current model used for the 'interfaces' group.
  78.  
  79.           This memo also includes a MIB module.  As well as including
  80.           new MIB definitions to support the architectural extensions,
  81.           this MIB module also re-specifies the 'interfaces' group of
  82.           MIB-II in a manner which is both compliant to the SNMPv2 SMI
  83.           and semantically-identical to the existing SNMPv1-based
  84.           definitions.
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.           Expires December 1993                                 [Page 2]
  115.  
  116.  
  117.  
  118.  
  119.           Draft             Interfaces Group Evolution         June 1993
  120.  
  121.  
  122.           2.  The SNMPv2 Network Management Framework
  123.  
  124.           The SNMPv2 Network Management Framework consists of four major
  125.           components.  They are:
  126.  
  127.           o    RFC 1442 which defines the SMI, the mechanisms used for
  128.                describing and naming objects for the purpose of
  129.                management.
  130.  
  131.           o    RFC 1213 defines MIB-II, the core set of managed objects
  132.                for the Internet suite of protocols.
  133.  
  134.           o    RFC 1445 which defines the administrative and other
  135.                architectural aspects of the framework.
  136.  
  137.           o    RFC 1448 which defines the protocol used for network
  138.                access to managed objects.
  139.  
  140.           The Framework permits new objects to be defined for the
  141.           purpose of experimentation and evaluation.
  142.  
  143.  
  144.           2.1.  Object Definitions
  145.  
  146.           Managed objects are accessed via a virtual information store,
  147.           termed the Management Information Base or MIB.  Objects in the
  148.           MIB are defined using the subset of Abstract Syntax Notation
  149.           One (ASN.1) defined in the SMI.  In particular, each object
  150.           object type is named by an OBJECT IDENTIFIER, an
  151.           administratively assigned name.  The object type together with
  152.           an object instance serves to uniquely identify a specific
  153.           instantiation of the object.  For human convenience, we often
  154.           use a textual string, termed the descriptor, to refer to the
  155.           object type.
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.           Expires December 1993                                 [Page 3]
  173.  
  174.  
  175.  
  176.  
  177.           Draft             Interfaces Group Evolution         June 1993
  178.  
  179.  
  180.           3.  Experience with the Interfaces Group
  181.  
  182.           One of the strengths of internetwork-layer protocols such as
  183.           IP [6] is that they are designed to run over any network
  184.           interface.  In achieving this, IP considers any and all
  185.           protocols it runs over as a single "network interface" layer.
  186.           A similar view is taken by other internetwork-layer protocols.
  187.           This concept is represented in MIB-II by the 'interfaces'
  188.           group which defines a generic set of managed objects such that
  189.           any network interface can be managed in an interface-
  190.           independent manner through these managed objects.  The
  191.           'interfaces' group provides the means for additional managed
  192.           objects specific to particular types of network interface
  193.           (e.g., a specific medium such as Ethernet) to be defined as
  194.           extensions to the 'interfaces' group for media-specific
  195.           management.  Since the standardization of MIB-II, many such
  196.           media-specific MIB modules have been defined.
  197.  
  198.           Experience in defining these media-specific MIB modules has
  199.           shown that the model defined by MIB-II is too simplistic
  200.           and/or static for some types of media-specific management.  As
  201.           a result, some of these media-specific MIB modules have
  202.           assumed an evolution/loosening of the model.  This memo is a
  203.           proposal to document/standardize the evolution of the model
  204.           and to fill in the gaps caused by that evolution.
  205.  
  206.           A previous effort to extend the interfaces group resulted in
  207.           the publication of RFC 1229 [7].  As part of defining the
  208.           evolution of the interfaces group, this memo applies that
  209.           evolution to, and thereby incorporates the RFC 1229
  210.           extensions.
  211.  
  212.  
  213.           3.1.  Areas of Clarification/Revision
  214.  
  215.           There are seven areas for which experience indicates that
  216.           clarification, revision, or extension of the model would be
  217.           helpful.  The next sections discuss these.
  218.  
  219.  
  220.           3.1.1.  Interface Numbering
  221.  
  222.           MIB-II defines an object, ifNumber, whose value represents:
  223.  
  224.                "The number of network interfaces (regardless of their
  225.  
  226.  
  227.  
  228.  
  229.  
  230.           Expires December 1993                                 [Page 4]
  231.  
  232.  
  233.  
  234.  
  235.           Draft             Interfaces Group Evolution         June 1993
  236.  
  237.  
  238.                current state) present on this system."
  239.  
  240.           Each interface is identified by a unique value of the ifIndex
  241.           object, and the description of ifIndex constrains its value as
  242.           follows:
  243.  
  244.                "Its value ranges between 1 and the value of ifNumber.
  245.                The value for each interface must remain constant at
  246.                least from one re-initialization of the entity's network
  247.                management system to the next re-initialization."
  248.  
  249.           This constancy requirement on the value of ifIndex for a
  250.           particular interface is vital for efficient management.
  251.           However, an increasing number of devices allow for the dynamic
  252.           addition/removal of network interfaces.  One example of this
  253.           is a dynamic ability to configure the use of SLIP/PPP over a
  254.           character-oriented port.  For such dynamic additions/removals,
  255.           the combination of the constancy requirement and the
  256.           restriction that the value of ifIndex is less than ifNumber is
  257.           problematic.
  258.  
  259.  
  260.           3.1.2.  Interface Sub-Layers
  261.  
  262.           Experience in defining media-specific management information
  263.           has shown the need to distinguish between the multiple sub-
  264.           layers beneath the internetwork-layer.  In addition, there is
  265.           a need to manage these sub-layers in devices (e.g., MAC-layer
  266.           bridges) which are unaware of which, if any, internetwork
  267.           protocols run over these sub-layers.  As such, a model of
  268.           having a single conceptual row in the interfaces table (MIB-
  269.           II's ifTable) represent a whole interface underneath the
  270.           internetwork-layer, and having a single associated media-
  271.           specific MIB module (referenced by the ifSpecific object) is
  272.           too simplistic.  A further problem arises with the value of
  273.           the ifType object which has enumerated values for each type of
  274.           interface.
  275.  
  276.           Consider, for example, an interface with PPP running over an
  277.           HDLC link which uses a RS232-like connector.  Each of these
  278.           sub-layers has its own media-specific MIB module.  If all of
  279.           this is represented by a single conceptual row in the ifTable,
  280.           then an enumerated value for ifType is needed for that
  281.           specific combination, and that row's ifSpecific variable can
  282.           "point" to only one of the three media-specific MIB modules.
  283.  
  284.  
  285.  
  286.  
  287.  
  288.           Expires December 1993                                 [Page 5]
  289.  
  290.  
  291.  
  292.  
  293.           Draft             Interfaces Group Evolution         June 1993
  294.  
  295.  
  296.           Furthermore, even if there was a convention for deciding which
  297.           MIB module is referenced by ifSpecific then there is still a
  298.           lack of a method to describe the relationship of all the sub-
  299.           layers of the MIB stack.
  300.  
  301.           An associated problem is that of upward and downward
  302.           multiplexing of the sub-layers.  An example of upward
  303.           multiplexing is MLP (Multi-Link) which provides load-sharing
  304.           over several serial lines by appearing as a single point-to-
  305.           point link to the sub-layer(s) above.  An example of downward
  306.           multiplexing would be several instances of PPP, each running
  307.           over a Frame Relay virtual circuit, all of which run over the
  308.           same ISDN B channel.  The current MIB structure does not allow
  309.           for these sorts of relationships to be described.
  310.  
  311.  
  312.           3.1.3.  Virtual Circuits
  313.  
  314.           Several of the sub-layers for which media-specific MIB modules
  315.           have been defined are connection oriented (e.g., Frame Relay,
  316.           X.25).  Experience has shown that each effort to define such a
  317.           MIB module revisits the question of whether separate
  318.           conceptual rows in the ifTable are needed for each virtual
  319.           circuit.  Most, if not all, of these efforts to date have
  320.           decided to have all virtual circuits reference a single
  321.           conceptual row in the ifTable.
  322.  
  323.  
  324.           3.1.4.  Bit and Character Oriented Interfaces
  325.  
  326.           RS-232 is an example of a character-oriented sub-layer over
  327.           which (e.g., through use of PPP) IP datagrams can be sent.
  328.           Due to the packet-based nature of many of the objects in the
  329.           ifTable, experience has shown that it is not appropriate to
  330.           have a character-oriented sub-layer represented by a (whole)
  331.           conceptual row in the ifTable.
  332.  
  333.           Experience has also shown that it is sometimes desirable to
  334.           have some management information for bit-oriented interfaces,
  335.           which are similarly difficult to represent by a (whole)
  336.           conceptual row in the ifTable.  For example, to manage the
  337.           channels of a DS1 circuit, where only some of the channels are
  338.           carrying packet-based data.
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.           Expires December 1993                                 [Page 6]
  347.  
  348.  
  349.  
  350.  
  351.           Draft             Interfaces Group Evolution         June 1993
  352.  
  353.  
  354.           3.1.5.  Counter Size
  355.  
  356.           As the speed of network media increase, the minimum time in
  357.           which a 32 bit counter will wrap decreases.  For example, on
  358.           an Ethernet, a stream of back-to-back, full-size packets will
  359.           cause ifInOctets to wrap in just over 57 minutes, for a T3
  360.           line, the minimum wrap-time is just over 12 minutes, and for
  361.           FDDI, it will wrap in 5.7 minutes.  For a 1-gigabit medium,
  362.           the counter might wrap in as little as 34 seconds.  Requiring
  363.           that interfaces be polled frequently enough not to miss a
  364.           counter wrap will be increasingly problematic.
  365.  
  366.  
  367.           3.1.6.  Interface Speed
  368.  
  369.           Network speeds are increasing. IfSpeed is limited to reporting
  370.           a maximum speed of (2**31)-1 bits/second, or approximately
  371.           2.2Gbs.  SONET defines an OC-48 interface, which is defined at
  372.           operating at 48 times 51 Mbs, which is a speed in excess of
  373.           2.4gbits.  Thus, ifSpeed will be of diminishing utility over
  374.           the next several years.
  375.  
  376.  
  377.           3.1.7.  Multicast/Broadcast Counters
  378.  
  379.           The counters in the ifTable for packets addressed to a
  380.           multicast or the broadcast address, are combined as counters
  381.           of non-unicast packets.  In contrast, the ifExtensions MIB [7]
  382.           defines one set of counters for multicast, and a separate set
  383.           for broadcast packets.  With the separate counters, the
  384.           original combined counters become redundant.
  385.  
  386.  
  387.           3.2.  Clarifications/Revisions
  388.  
  389.           The following clarifications and/or revisions are proposed.
  390.  
  391.  
  392.           3.2.1.  Interface Numbering
  393.  
  394.           One solution to the interface numbering problem would be to
  395.           redefine ifNumber to be the largest value of ifIndex, but the
  396.           utility of such an object is questionable, and such a re-
  397.           definition would require ifNumber to be deprecated.  Thus, an
  398.           improvement would be to deprecate ifNumber and not replace it.
  399.  
  400.  
  401.  
  402.  
  403.  
  404.           Expires December 1993                                 [Page 7]
  405.  
  406.  
  407.  
  408.  
  409.           Draft             Interfaces Group Evolution         June 1993
  410.  
  411.  
  412.           However, the deprecation of ifNumber would require a change to
  413.           that portion of ifIndex's definition which refers to ifNumber.
  414.           So, since the definition of ifIndex must be changed anyway in
  415.           order to solve the problem, changes to ifNumber do not benefit
  416.           the solution.
  417.  
  418.           The solution adopted in this memo is just to delete the
  419.           requirement that the value of ifIndex must be less than the
  420.           value of ifNumber, and to retain ifNumber with its current
  421.           definition.  It could be argued that this is a change in the
  422.           semantics of ifIndex; however, all existing implementations
  423.           conform to this new definition, and in the interests of not
  424.           requiring changes in existing implementations and in the many
  425.           existing media-specific MIBs, it is proposed that this change
  426.           does not require ifIndex to be deprecated.
  427.  
  428.           This solution also results in the possibility of "holes" in
  429.           the ifTable, i.e., the ifIndex values of conceptual rows in
  430.           the ifTable are not necessarily contiguous, but SNMP's GetNext
  431.           (and SNMPv2's GetBulk) operation easily deals with such holes.
  432.           The value of ifNumber still represents the number of
  433.           conceptual rows, which increases/decreases as new interfaces
  434.           are dynamically added/removed.  The vital constancy
  435.           requirement is met by requiring that after an interface is
  436.           dynamically removed, its ifIndex value is not re-used (by
  437.           another dynamically added interface) until after the following
  438.           re-initialization of the network management system.  This
  439.           avoids the need for a priori assignment of ifIndex values for
  440.           all possible interfaces which might be added dynamically.
  441.  
  442.           Because of the restriction of the value of ifIndex to be less
  443.           than ifNumber, interfaces have been numbered with small
  444.           integer values.  This has led to the ability by humans to use
  445.           the ifIndex values as (somewhat) user-friendly names for
  446.           network interfaces (e.g., "interface number 3").  With the
  447.           relaxation of the restriction on the value of ifIndex, there
  448.           is now the possibility that ifIndex values could be assigned
  449.           as very large numbers (e.g., memory addresses).  Such numbers
  450.           would be much less user-friendly.  Therefore, this memo
  451.           recommends that ifIndex values still be assigned as small
  452.           integer values starting at 1, even though the values in use at
  453.           any one time are not necessarily contiguous.  (Note that this
  454.           makes it easy for agents which dynamically add new interfaces,
  455.           to remember which values have been assigned.)
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.           Expires December 1993                                 [Page 8]
  463.  
  464.  
  465.  
  466.  
  467.           Draft             Interfaces Group Evolution         June 1993
  468.  
  469.  
  470.           This proposed change introduces a new problem of its own.
  471.           Previously, there usually was a simple, direct, mapping of
  472.           interfaces to the physical ports on systems.  This mapping
  473.           would be based on the ifIndex value.  However, by removing the
  474.           previous restrictions on the values allowed for ifIndex, along
  475.           with the interface sub-layer concept (see the following
  476.           section), mapping from interfaces to physical ports becomes
  477.           increasingly problematic.
  478.  
  479.           To address this issue, a new object, ifName, is added to the
  480.           MIB.  This object contains the host's name for the interface
  481.           of which the relevant ifEntry is a component.  For example, if
  482.           a router has an interface named wan1, which is composed of PPP
  483.           running over an RS-232 port, the ifName objects for the PPP
  484.           and RS-232 ifEntrys will contain the string "wan1".
  485.  
  486.  
  487.           3.2.2.  Interface Sub-Layers
  488.  
  489.           One possible but not recommended solution to the problem of
  490.           representing multiple sub-layers would be to retain the
  491.           concept of one conceptual row for all the sub-layers of an
  492.           interface and have each media-specific MIB module identify its
  493.           "superior" and "subordinate" sub-layers through OBJECT
  494.           IDENTIFIER "pointers".  The drawbacks of this scheme are: 1)
  495.           that the superior/subordinate pointers are contained in the
  496.           media-specific MIB modules, and thus, a manager could not
  497.           learn the structure of an interface, without inspecting
  498.           multiple pointers in different MIB modules; this is overly
  499.           complex and only possible if the manager has knowledge of all
  500.           the relevant media-specific MIB modules; 2) current MIB
  501.           modules would all need to be retrofitted with these new
  502.           "pointers"; 3) this scheme does not adequately address the
  503.           problem of upward and downward multiplexing; and 4) enumerated
  504.           values of ifType are needed for each combination of sub-
  505.           layers.
  506.  
  507.           Another possible but not recommended scheme would be to retain
  508.           the concept of one conceptual row for all the sub-layers of an
  509.           interface and have a new separate MIB table to identify the
  510.           "superior" and "subordinate" sub-layers and to contain OBJECT
  511.           IDENTIFIER "pointers" to media-specific MIBs.  Effectively,
  512.           one conceptual row in the ifTable would represent each
  513.           combination of sub-layers between the internetwork-layer and
  514.           the wire.  While this scheme has fewer drawbacks, it would
  515.  
  516.  
  517.  
  518.  
  519.  
  520.           Expires December 1993                                 [Page 9]
  521.  
  522.  
  523.  
  524.  
  525.           Draft             Interfaces Group Evolution         June 1993
  526.  
  527.  
  528.           deprecate the use of ifSpecific and it still does not support
  529.           downward multiplexing, such as PPP over MLP: since MLP makes
  530.           two (or more) serial lines appear to the layers above as a
  531.           single physical interface, PPP over MLP should appear to the
  532.           internetwork-layer as a single interface; this scheme,
  533.           however, would result in two (or more) conceptual rows in the
  534.           ifTable, both of which the internetwork-layer would run over.
  535.           This scheme also requires enumerated values of ifType for each
  536.           combination of sub-layers.
  537.  
  538.           The solution adopted in this memo is to have an individual
  539.           conceptual row in the ifTable to represent each sub-layer, and
  540.           have a new separate MIB table (the ifStackTable, see section 4
  541.           of this memo) to identify the "superior" and "subordinate"
  542.           sub-layers through INTEGER "pointers" to the appropriate
  543.           conceptual rows in the ifTable.  This solution supports both
  544.           upward and downward multiplexing, allows the ifSpecific
  545.           pointer in each conceptual row of the ifTable to point to the
  546.           media-specific MIB module for that sub-layer, such that the
  547.           new table need only be referenced to obtain information about
  548.           layering, and it only requires enumerated values of ifType for
  549.           each sub-layer, not for combinations of them.  However, it
  550.           does require that the descriptions of some objects in the
  551.           ifTable (specifically, ifType, ifPhysAddress, ifInUcastPkts,
  552.           and ifOutUcastPkts) be generalized so as to apply to any sub-
  553.           layer (rather than only to a sub-layer immediately beneath the
  554.           network layer, as at present), plus some (specifically,
  555.           ifSpeed) which need to have appropriate values identified for
  556.           use when a generalized definition does not apply to a
  557.           particular sub-layer.
  558.  
  559.           In addition, this adopted solution makes no requirement that a
  560.           device, in which a sub-layer is instrumented by a conceptual
  561.           row of the ifTable, be aware of whether an internetwork
  562.           protocol runs on top of (i.e., at some layer above) that sub-
  563.           layer.
  564.  
  565.           The designer of a medium-specific MIB must decide whether to
  566.           divide the interface into sub-layers or not, and if so, how to
  567.           make the divisions.  The following guidance is offered to
  568.           assist the medium-specific MIB designer in these decisions.
  569.  
  570.           In general, the number of entries in the ifTable should be
  571.           kept to the minimum required for network management.  In
  572.           particular, a group of related interfaces should be treated as
  573.  
  574.  
  575.  
  576.  
  577.  
  578.           Expires December 1993                                [Page 10]
  579.  
  580.  
  581.  
  582.  
  583.           Draft             Interfaces Group Evolution         June 1993
  584.  
  585.  
  586.           a single interface with one entry in the ifTable providing
  587.           that:
  588.  
  589.           (1)  None of the group of interfaces performs multiplexing for
  590.                any other interface in the agent,
  591.  
  592.           (2)  There is a meaningful and useful way for all of the
  593.                ifTable's information (e.g., the counters, and the status
  594.                variables), and all of the ifTable's capabilities (e.g.,
  595.                write access to ifAdminStatus), to apply to the group of
  596.                interfaces as a whole.
  597.  
  598.           Under these circumstances, there should be one ifEntry for
  599.           such a group of interfaces, and any internal structure which
  600.           needs to be represented to network management should be
  601.           captured in a MIB module specific to the particular type of
  602.           interface.
  603.  
  604.           Note that application of bullet 2 above to the ifTable's
  605.           ifSpecific and ifType objects requires that there is a
  606.           meaningful medium- specific MIB and a meaningful ifType value
  607.           which apply to the group of interfaces as a whole.  For
  608.           example, it is not appropriate to treat an HDLC sub-layer and
  609.           an RS-232 sub-layer as a single ifTable entry when the
  610.           medium-specific MIBs and the ifType values for HDLC and RS-232
  611.           are separate (rather than combined).
  612.  
  613.           These guidelines are just that, guidelines.  The designer of a
  614.           medium-specific MIB is free to lay out the MIB in whatever
  615.           manner is desired.
  616.  
  617.           However, regardless of a medium-specific MIB's design, the
  618.           designer of a medium-specific MIB must completely state the
  619.           sub-layering model used for the MIB, and provide the
  620.           assumptions, reasoning, and rationale used to develop that
  621.           model.
  622.  
  623.  
  624.           3.2.3.  Virtual Circuits
  625.  
  626.           This memo recommends that, in general, connection-oriented
  627.           sub-layers do not have a conceptual row in the ifTable for
  628.           each virtual circuit.  This avoids the proliferation of
  629.           conceptual rows, especially those which have considerable
  630.           redundant information.  (Note, as a comparison, that
  631.  
  632.  
  633.  
  634.  
  635.  
  636.           Expires December 1993                                [Page 11]
  637.  
  638.  
  639.  
  640.  
  641.           Draft             Interfaces Group Evolution         June 1993
  642.  
  643.  
  644.           connection-less sub-layers do not have conceptual rows for
  645.           each remote address.)  There may, however, be circumstances
  646.           under which it is appropriate for a virtual circuit of a
  647.           connection-oriented sub-layer to have its own conceptual row
  648.           in the ifTable; an example of this might be PPP over a Frame
  649.           Relay virtual circuit.  The MIB in section 4 of this memo
  650.           supports such circumstances.
  651.  
  652.  
  653.           3.2.4.  Bit and Character Oriented Interfaces
  654.  
  655.           About half the objects in the ifTable are applicable to every
  656.           type of interface: packet-oriented, character-oriented, and
  657.           bit-oriented.  Of the other half, two are applicable to both
  658.           character-oriented and packet-oriented interfaces, and the
  659.           rest are applicable only to packet-oriented interfaces.  Thus,
  660.           while it is desirable for consistency to be able to represent
  661.           any/all types of interfaces in the ifTable, it is not possible
  662.           to implement the full ifTable for bit- and character-oriented
  663.           sub-layers.
  664.  
  665.           One possible but not recommended solution to this problem
  666.           would be to split the ifTable into two (or more) new MIB
  667.           tables, one of which would contain objects that are relevant
  668.           only to packet-oriented interfaces (e.g. PPP), and another
  669.           that may be used by all interfaces.  This is highly
  670.           undesirable since it would require changes in every agent
  671.           implementing the ifTable (i.e., just about every existing SNMP
  672.           agent).
  673.  
  674.           The solution adopted in this memo builds upon the fact that
  675.           compliance statements in SNMPv2 (in contrast to SNMPv1) refer
  676.           to object groups, where object groups are explicitly defined
  677.           by listing the objects they contain.  Thus, in SNMPv2,
  678.           multiple compliance statements can be specified, one for all
  679.           interfaces and additional ones for specific types of
  680.           interfaces.  The separate compliance statements can be based
  681.           on separate object groups, where the object group for all
  682.           interfaces can contain only those objects from the ifTable
  683.           which are appropriate for every type of interfaces.  Using
  684.           this solution, every sub-layer can have its own conceptual row
  685.           in the ifTable.
  686.  
  687.           Thus, the following section contains definitions of the
  688.           objects of the existing 'interfaces' group of MIB-II, in a
  689.  
  690.  
  691.  
  692.  
  693.  
  694.           Expires December 1993                                [Page 12]
  695.  
  696.  
  697.  
  698.  
  699.           Draft             Interfaces Group Evolution         June 1993
  700.  
  701.  
  702.           manner which is both SNMPv2-compliant and semantically-
  703.           equivalent to the existing MIB-II definitions.  With
  704.           equivalent semantics, and with the BER ("on the wire")
  705.           encodings unchanged, these definitions retain the same OBJECT
  706.           IDENTIFIER values as assigned by MIB-II.  Thus, no rewrite of
  707.           existing agents is required.
  708.  
  709.           Three new object groups are defined: the ifGeneralGroup
  710.           containing those objects applicable to all types of network
  711.           interfaces; the ifCharacterGroup containing those objects
  712.           applicable to character-oriented (but not packet-oriented)
  713.           network interfaces; and the ifPacketGroup containing those
  714.           objects applicable only to packet-oriented network interfaces.
  715.  
  716.  
  717.           3.2.5.  Counter Size
  718.  
  719.           Two approaches to addressing the shrinking minimum counter-
  720.           wrap time problem were evaluated.  Counters could be scaled,
  721.           for example, ifInOctets could be changed to count received
  722.           octets in, e.g., 1024 byte blocks.  Alternatively, the size of
  723.           the counter could be increased.
  724.  
  725.           Scaling the counters was rejected.  While it provides
  726.           acceptable performance at high count rates, at low rates it
  727.           suffers.  If there is little traffic on an interface, there
  728.           might be a significant interval before enough counts occur to
  729.           cause a counter to be incremented.  Traffic would then appear
  730.           to be very bursty, leading to incorrect conclusions of the
  731.           network's performance.
  732.  
  733.           The alternative, which this memo adopts, is to provide
  734.           expanded, 64 bit, counters.  These counters are provided in
  735.           two new groups, the "high capacity" packet counters group
  736.           (ifHCPacketGroup) and byte counters group
  737.           (ifHCCharacterGroup).  These new groups provide new, 64 bit,
  738.           counters for use as appropriate.
  739.  
  740.           The old, 32-bit, counters have not been deprecated.  The 64-
  741.           bit counters are to be used only the 32-bit counters do not
  742.           provide enough capacity; that is, the 32 bit counters could
  743.           wrap too fast.
  744.  
  745.           For interfaces that operate at 20,000,000 (20 million) bits
  746.           per second or less, 32-bit counters should be used.  For
  747.  
  748.  
  749.  
  750.  
  751.  
  752.           Expires December 1993                                [Page 13]
  753.  
  754.  
  755.  
  756.  
  757.           Draft             Interfaces Group Evolution         June 1993
  758.  
  759.  
  760.           interfaces that operate faster than 20,000,000 bits/second,
  761.           64-bit counters should be used.
  762.  
  763.           This speed was chosen as a reasonable compromise based on the
  764.           following issues:
  765.  
  766.           (1)  64 bit counters are a new feature, introduced in SNMPv2.
  767.                It is reasonable to expect that support for them will be
  768.                spotty for the immediate future.  Thus, we wish to limit
  769.                them to as few systems as possible.  This, in effect,
  770.                means that 64-bit counters should be limited to higher
  771.                speed interfaces.  Ethernet (10,000,000 bps) and Token
  772.                Ring (16,000,000 bps) are fairly wide-spread so it seems
  773.                reasonable to not require 64-bit counters for these
  774.                interfaces.
  775.  
  776.           (2)  The minimum interval required for polling interfaces
  777.                should be as long as possible.  When running at full
  778.                speed (i.e. back-to-back, maximum sized packets), for the
  779.                following interfaces, the 32-bit ifxxxOctets counters
  780.                will wrap in the stated times:
  781.  
  782.                -   Ethernet will wrap in approximately 57 minutes,
  783.  
  784.                -   Token Ring at 16 megabits will wrap in approximately
  785.                    36 minutes,
  786.  
  787.                -   A US T3 line, at 45 megabits, will wrap in
  788.                    approximately 12 minutes,
  789.  
  790.                -   FDDI will wrap in approximately 5.7 minutes, and
  791.  
  792.                -   A giga-bit link will wrap in about 34 seconds.
  793.  
  794.           (3)  The required polling frequency should be somewhat higher
  795.                than the counter wrap time.  This is necessary in order
  796.                to account for any possible packet transmission delays,
  797.                as well as packet losses (including the attendant timeout
  798.                and retransmission). We point out that, as network load
  799.                goes up, the counters will count faster (thus reducing
  800.                the time until the counter wraps) and transmission delays
  801.                will increase.
  802.  
  803.           Based on these concerns, we have chosen 20,000,000 bits/second
  804.           as a raw-link speed, below which 32-bit counters are
  805.  
  806.  
  807.  
  808.  
  809.  
  810.           Expires December 1993                                [Page 14]
  811.  
  812.  
  813.  
  814.  
  815.           Draft             Interfaces Group Evolution         June 1993
  816.  
  817.  
  818.           sufficient and above which, 64-bit counters should be used.
  819.           This link speed will cause a 32-bit counter to wrap in just
  820.           under 28 minutes.  This provides an 8 minute margin of error
  821.           when polling 16-megabit token ring.
  822.  
  823.           As an aside, a 1-terabit (1,000 gigabits) link will cause a 64
  824.           bit counter to wrap in just under 5 years.  Conversely, an
  825.           81,000,000 terabit/second link is required to cause a 64-bit
  826.           counter to wrap in 30 minutes.  We believe that, while
  827.           technology rapidly marches forward, this link speed will not
  828.           be achieved for at least several years, by which time we can
  829.           consider introducing 128 bit counters.
  830.  
  831.  
  832.           3.2.6.  Interface Speed
  833.  
  834.           In order to deal with increasing interface speeds, we have
  835.           added an ifHighSpeed object.
  836.  
  837.           This object reports the speed of the interface in 1,000,000 (1
  838.           million) bits/second units. Thus, the true speed of the
  839.           interface will be the value reported by this object, plus or
  840.           minus 500,000 bits/second.
  841.  
  842.           Other alternatives considered were:
  843.  
  844.           (1)  Making the interface speed a 64-bit gauge.  This was
  845.                rejected since the current SMI and set of textual
  846.                conventions do not include such an object. Therefore,
  847.                such a textual convention would have to be defined, with
  848.                the concomitant additional development efforts required.
  849.  
  850.                Furthermore, this path would require that an additional
  851.                object be added to the MIB, replacing the current ifSpeed
  852.                object.  We would not be able to economize on MIB object
  853.                counts. This path would also lead to confusion on the
  854.                part of manager stations; some agents would have just
  855.                ifSpeed, some would have just if64BitSpeed, and others
  856.                would have both.
  857.  
  858.                Finally, this would require additional complexity in
  859.                agents in that the instances in which 64-bit operations
  860.                would be required would increase.
  861.  
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.           Expires December 1993                                [Page 15]
  869.  
  870.  
  871.  
  872.  
  873.           Draft             Interfaces Group Evolution         June 1993
  874.  
  875.  
  876.           (2)  We also considered making "high-32 bit" and "low-32-bit"
  877.                objects which, when combined, would be a 64-bit value.
  878.                This simply seemed overly complex for what we are trying
  879.                to do.
  880.  
  881.                Furthermore, a full 64-bits of precision does not seem
  882.                necessary.  IfHighSpeed will be the only report of
  883.                interface speed for interfaces that are faster than
  884.                2,147,483,647 bits per second.  At this speed, the
  885.                granularity of ifHighSpeed will be 1,000,000 bits per
  886.                second, thus the error will be 1/2147, or about 0.05%.
  887.                This seems reasonable.
  888.  
  889.           (3)  Adding a "scale" object, which would define the units
  890.                which ifSpeed's value is.
  891.  
  892.                This would require two additional objects; One for the
  893.                scaling object and one to replace the current ifSpeed.
  894.                This later object is required since the semantics of
  895.                ifSpeed would be significantly altered, and manager
  896.                stations which do not understand the new semantics would
  897.                be confused.
  898.  
  899.  
  900.           3.2.7.  Multicast/Broadcast Counters
  901.  
  902.           To avoid the redundancy of counting all non-unicast packets as
  903.           well as having individual multicast and broadcast packet
  904.           counters, we deprecate the use of the non-unicast counters,
  905.           which can be derived from the values of the others.
  906.  
  907.           For the broadcast and multicast counters defined in RFC 1229,
  908.           their definitions varied slightly from the packet counters in
  909.           the ifTable, in that they did not count discarded packets.  To
  910.           align the definitions better, the old counters are
  911.           deprecatedand replaced by new definitions.  64-bit versions of
  912.           these counters are also needed as explained above.
  913.  
  914.  
  915.           4.  Use of the Interface Test Table
  916.  
  917.           This section is a description of the use of the Interface Test
  918.           Table mostly copied from section 4.2 of RFC 1229 [7].  The
  919.           only change is the addition of ifExtnsTestContext.  When the
  920.           Interface Test Table is accessed via SNMPv2,
  921.  
  922.  
  923.  
  924.  
  925.  
  926.           Expires December 1993                                [Page 16]
  927.  
  928.  
  929.  
  930.  
  931.           Draft             Interfaces Group Evolution         June 1993
  932.  
  933.  
  934.           ifExtnsTestContext records the context used, and
  935.           ifExtnsTestCommunity is set to the zero-length string; when
  936.           the Interface Test Table is accessed via SNMPv1,
  937.           ifExtnsTestCommunity records the community used, and
  938.           ifExtnsTestContext is set to { 0 0 }.
  939.  
  940.           The Interface Test Table defines objects which allow a network
  941.           manager to instruct an agent to test an interface for various
  942.           faults.  A few common types of tests are defined in this memo
  943.           but most will be defined elsewhere dependent on the particular
  944.           type of interface.  After invoking a test, the object
  945.           ifExtnsTestResult can be read to determine the outcome.  If an
  946.           agent can not perform the test, ifExtnsTestResult is set to so
  947.           indicate.  The object ifExtnsTestCode can be used to provide
  948.           further test-specific or interface-specific (or even
  949.           enterprise-specific) information concerning the outcome of the
  950.           test.  Only one test can be in progress on each interface at
  951.           any one time.  If one test is in progress when another test is
  952.           invoked, the second test is rejected.  Some agents may reject
  953.           a test when a prior test is active on another interface.
  954.  
  955.           When a test is invoked, the identity of the originator of the
  956.           request and the request-id are saved by the agent in the
  957.           objects ifExtnsTestRequestId and either ifExtnsTestContext or
  958.           ifExtnsTestCommunity.  These values remain set until the next
  959.           test is invoked.  In the (rare) event that the invocation of
  960.           tests by two network managers were to overlap, then there is a
  961.           possibility that the first test's results might be overwritten
  962.           by the second test's results prior to the first results being
  963.           read.  This unlikely circumstance can be detected by a network
  964.           manager retrieving ifExtnsTestRequestId and either
  965.           ifExtnsTestCommunity or ifExtnsTestContext, at the same time
  966.           as the test results are retrieved, and ensuring that the
  967.           results are for the desired request.
  968.  
  969.           In general, a Management station must not retransmit a request
  970.           to invoke a test for which it does not receive a response;
  971.           instead, it properly inspects an agent's MIB to determine if
  972.           the invocation was successful.  Only if the invocation was
  973.           unsuccessful, is the invocation request retransmitted.
  974.  
  975.           Some tests may require the interface to be taken off-line in
  976.           order to execute them, or may even require the agent to reboot
  977.           after completion of the test.  In these circumstances,
  978.           communication with the management station invoking the test
  979.  
  980.  
  981.  
  982.  
  983.  
  984.           Expires December 1993                                [Page 17]
  985.  
  986.  
  987.  
  988.  
  989.           Draft             Interfaces Group Evolution         June 1993
  990.  
  991.  
  992.           may be lost until after completion of the test.  The agent
  993.           should make every effort to transmit a response to the request
  994.           which invoked the test prior to losing communication.  When
  995.           the agent is restored to normal service, the results of the
  996.           test are properly made available in the appropriate objects.
  997.           Note that this requires that the ifIndex value assigned to an
  998.           interface must be unchanged even if the test causes a reboot.
  999.           An agent must reject any test for which it cannot, perhaps due
  1000.           to resource constraints, make available at least the minimum
  1001.           amount of information after that test completes.
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.           Expires December 1993                                [Page 18]
  1043.  
  1044.  
  1045.  
  1046.  
  1047.           Draft             Interfaces Group Evolution         June 1993
  1048.  
  1049.  
  1050.           5.  Definitions
  1051.  
  1052.           IF-MIB DEFINITIONS ::= BEGIN
  1053.  
  1054.           IMPORTS
  1055.               MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
  1056.               Integer32, TimeTicks, experimental       FROM SNMPv2-SMI
  1057.               DisplayString, PhysAddress, RowStatus    FROM SNMPv2-TC
  1058.               MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
  1059.               mib-2, interfaces                        FROM RFC-1213;
  1060.  
  1061.           -- from RFC 1239
  1062.           ifExtensions   OBJECT IDENTIFIER ::= { mib-2 12 }
  1063.  
  1064.           ifMIB MODULE-IDENTITY
  1065.               LAST-UPDATED "9306282355Z"
  1066.               ORGANIZATION "IETF Interfaces MIB Working Group"
  1067.               CONTACT-INFO
  1068.                       "   Keith McCloghrie
  1069.                           Hughes LAN Systems
  1070.                           1225 Charleston Road
  1071.                           Mountain View, Ca. 94043
  1072.  
  1073.                           Tel: 415-966-7934
  1074.                           Fax: 415-966-7980
  1075.                           E-mail: kzm@hls.com."
  1076.               DESCRIPTION
  1077.                       "The MIB module to describe generic objects for
  1078.                       network interface sub-layers.  This MIB is an
  1079.                       updated version of MIB-II's ifTable, and
  1080.                       incorporates the extensions defined in RFC 1229."
  1081.               ::= { experimental xx }
  1082.  
  1083.           ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.           Expires December 1993                                [Page 19]
  1101.  
  1102.  
  1103.  
  1104.  
  1105.           Draft             Interfaces Group Evolution         June 1993
  1106.  
  1107.  
  1108.           -- the Interfaces group
  1109.  
  1110.           ifNumber  OBJECT-TYPE
  1111.               SYNTAX      Integer32
  1112.               MAX-ACCESS  read-only
  1113.               STATUS      current
  1114.               DESCRIPTION
  1115.                       "The number of network interfaces (regardless of
  1116.                       their current state) present on this system."
  1117.               ::= { interfaces 1 }
  1118.  
  1119.  
  1120.           -- the Interfaces table
  1121.  
  1122.           -- The Interfaces table contains information on the entity's
  1123.           -- interfaces.  Each sub-layer below the internetwork-layer
  1124.           -- of a network interface is considered to be an interface.
  1125.  
  1126.           ifTable OBJECT-TYPE
  1127.               SYNTAX      SEQUENCE OF IfEntry
  1128.               MAX-ACCESS  not-accessible
  1129.               STATUS      current
  1130.               DESCRIPTION
  1131.                       "A list of interface entries.  The number of
  1132.                       entries is given by the value of ifNumber."
  1133.               ::= { interfaces 2 }
  1134.  
  1135.           ifEntry OBJECT-TYPE
  1136.               SYNTAX      IfEntry
  1137.               MAX-ACCESS  not-accessible
  1138.               STATUS      current
  1139.               DESCRIPTION
  1140.                       "An entry containing management information
  1141.                       applicable to a particular interface."
  1142.               INDEX   { ifIndex }
  1143.               ::= { ifTable 1 }
  1144.  
  1145.           IfEntry ::=
  1146.               SEQUENCE {
  1147.                   ifIndex                 Integer32,
  1148.                   ifDescr                 DisplayString,
  1149.                   ifType                  INTEGER,
  1150.                   ifMtu                   Integer32,
  1151.                   ifSpeed                 Gauge32,
  1152.                   ifPhysAddress           PhysAddress,
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.           Expires December 1993                                [Page 20]
  1159.  
  1160.  
  1161.  
  1162.  
  1163.           Draft             Interfaces Group Evolution         June 1993
  1164.  
  1165.  
  1166.                   ifAdminStatus           INTEGER,
  1167.                   ifOperStatus            INTEGER,
  1168.                   ifLastChange            TimeTicks,
  1169.                   ifInOctets              Counter32,
  1170.                   ifInUcastPkts           Counter32,
  1171.                   ifInNUcastPkts          Counter32,
  1172.                   ifInDiscards            Counter32,
  1173.                   ifInErrors              Counter32,
  1174.                   ifInUnknownProtos       Counter32,
  1175.                   ifOutOctets             Counter32,
  1176.                   ifOutUcastPkts          Counter32,
  1177.                   ifOutNUcastPkts         Counter32,
  1178.                   ifOutDiscards           Counter32,
  1179.                   ifOutErrors             Counter32,
  1180.                   ifOutQLen               Gauge32,
  1181.                   ifSpecific              OBJECT IDENTIFIER,
  1182.                   ifName                  DisplayString,
  1183.                   ifInMulticastPkts       Counter32,
  1184.                   ifInBroadcastPkts       Counter32,
  1185.                   ifOutMulticastPkts      Counter32,
  1186.                   ifOutBroadcastPkts      Counter32,
  1187.                   ifHCInOctets            Counter64,
  1188.                   ifHCInUcastPkts         Counter64,
  1189.                   ifHCInMulticastPkts     Counter64,
  1190.                   ifHCInBroadcastPkts     Counter64,
  1191.                   ifHCInDiscards          Counter64,
  1192.                   ifHCInErrors            Counter64,
  1193.                   ifHCInUnknownProtos     Counter64,
  1194.                   ifHCOutOctets           Counter64,
  1195.                   ifHCOutUcastPkts        Counter64,
  1196.                   ifHCOutMulticastPkts    Counter64,
  1197.                   ifHCOutBroadcastPkts    Counter64,
  1198.                   ifHCOutDiscards         Counter64,
  1199.                   ifHCOutErrors           Counter64,
  1200.                   ifLinkUpDownTrapEnable  INTEGER,
  1201.                   ifHighSpeed             Gauge32
  1202.               }
  1203.  
  1204.           ifIndex OBJECT-TYPE
  1205.               SYNTAX      Integer32
  1206.               MAX-ACCESS  read-only
  1207.               STATUS      current
  1208.               DESCRIPTION
  1209.                       "A unique value, greater than zero, for each
  1210.                       interface.  It is recommended that values are
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.           Expires December 1993                                [Page 21]
  1217.  
  1218.  
  1219.  
  1220.  
  1221.           Draft             Interfaces Group Evolution         June 1993
  1222.  
  1223.  
  1224.                       assigned contiguously starting from 1.  The value
  1225.                       for each interface sub-layer must remain constant
  1226.                       at least from one re-initialization of the
  1227.                       entity's network management system to the next
  1228.                       re-initialization."
  1229.               ::= { ifEntry 1 }
  1230.  
  1231.           ifDescr OBJECT-TYPE
  1232.               SYNTAX      DisplayString (SIZE (0..255))
  1233.               MAX-ACCESS  read-only
  1234.               STATUS      current
  1235.               DESCRIPTION
  1236.                       "A textual string containing information about the
  1237.                       interface.  This string should include the name of
  1238.                       the manufacturer, the product name and the version
  1239.                       of the interface hardware/software."
  1240.               ::= { ifEntry 2 }
  1241.  
  1242.           ifType OBJECT-TYPE
  1243.               SYNTAX  INTEGER {
  1244.                           other(1),          -- none of the following
  1245.                           regular1822(2),
  1246.                           hdh1822(3),
  1247.                           ddn-x25(4),
  1248.                           rfc877-x25(5),
  1249.                           ethernet-csmacd(6),
  1250.                           iso88023-csmacd(7),
  1251.                           iso88024-tokenBus(8),
  1252.                           iso88025-tokenRing(9),
  1253.                           iso88026-man(10),
  1254.                           starLan(11),
  1255.                           proteon-10Mbit(12),
  1256.                           proteon-80Mbit(13),
  1257.                           hyperchannel(14),
  1258.                           fddi(15),
  1259.                           lapb(16),
  1260.                           sdlc(17),
  1261.                           ds1(18),           -- T-1
  1262.                           e1(19),            -- european equiv. of T-1
  1263.                           basicISDN(20),
  1264.                           primaryISDN(21),   -- proprietary serial
  1265.                           propPointToPointSerial(22),
  1266.                           ppp(23),
  1267.                           softwareLoopback(24),
  1268.                           eon(25),            -- CLNP over IP (RFC 1070)
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.           Expires December 1993                                [Page 22]
  1275.  
  1276.  
  1277.  
  1278.  
  1279.           Draft             Interfaces Group Evolution         June 1993
  1280.  
  1281.  
  1282.                           ethernet-3Mbit(26),
  1283.                           nsip(27),           -- XNS over IP
  1284.                           slip(28),           -- generic SLIP
  1285.                           ultra(29),          -- ULTRA technologies
  1286.                           ds3(30),            -- T-3
  1287.                           sip(31),            -- SMDS
  1288.                           frame-relay(32)
  1289.                       }
  1290.               MAX-ACCESS  read-only
  1291.               STATUS      current
  1292.               DESCRIPTION
  1293.                       "The type of interface."
  1294.               ::= { ifEntry 3 }
  1295.  
  1296.           ifMtu OBJECT-TYPE
  1297.               SYNTAX      Integer32
  1298.               MAX-ACCESS  read-only
  1299.               STATUS      current
  1300.               DESCRIPTION
  1301.                       "The size of the largest datagram which can be
  1302.                       sent/received on the interface, specified in
  1303.                       octets.  For interfaces that are used for
  1304.                       transmitting network datagrams, this is the size
  1305.                       of the largest network datagram that can be sent
  1306.                       on the interface."
  1307.               ::= { ifEntry 4 }
  1308.  
  1309.           ifSpeed OBJECT-TYPE
  1310.               SYNTAX      Gauge32
  1311.               MAX-ACCESS  read-only
  1312.               STATUS      current
  1313.               DESCRIPTION
  1314.                       "An estimate of the interface's current bandwidth
  1315.                       in bits per second.  For interfaces which do not
  1316.                       vary in bandwidth or for those where no accurate
  1317.                       estimation can be made, this object should contain
  1318.                       the nominal bandwidth.  If the bandwidth of the
  1319.                       interface is greater than the maximum value
  1320.                       reportable by this object then this object should
  1321.                       report its maximum value (2,147,483,647) and
  1322.                       ifHighSpeed must be used to report the interace's
  1323.                       speed.  For a sub-layer which has no concept of
  1324.                       bandwidth, this object should be zero."
  1325.               ::= { ifEntry 5 }
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.           Expires December 1993                                [Page 23]
  1333.  
  1334.  
  1335.  
  1336.  
  1337.           Draft             Interfaces Group Evolution         June 1993
  1338.  
  1339.  
  1340.           ifPhysAddress OBJECT-TYPE
  1341.               SYNTAX      PhysAddress
  1342.               MAX-ACCESS  read-only
  1343.               STATUS      current
  1344.               DESCRIPTION
  1345.                       "The interface's address at its protocol sub-
  1346.                       layer.  The interface's medium-specific MIB must
  1347.                       define the bit and byte ordering and format of the
  1348.                       value contained by this object.  For interfaces
  1349.                       which do not have such an address (e.g., a serial
  1350.                       line), this object should contain an octet string
  1351.                       of zero length."
  1352.               ::= { ifEntry 6 }
  1353.  
  1354.           ifAdminStatus OBJECT-TYPE
  1355.               SYNTAX  INTEGER {
  1356.                           up(1),       -- ready to pass packets
  1357.                           down(2),
  1358.                           testing(3)   -- in some test mode
  1359.                       }
  1360.               MAX-ACCESS  read-write
  1361.               STATUS      current
  1362.               DESCRIPTION
  1363.                       "The desired state of the interface.  The
  1364.                       testing(3) state indicates that no operational
  1365.                       packets can be passed."
  1366.               ::= { ifEntry 7 }
  1367.  
  1368.           ifOperStatus OBJECT-TYPE
  1369.               SYNTAX  INTEGER {
  1370.                           up(1),       -- ready to pass packets
  1371.                           down(2),
  1372.                           testing(3)   -- in some test mode
  1373.                       }
  1374.               MAX-ACCESS  read-only
  1375.               STATUS      current
  1376.               DESCRIPTION
  1377.                       "The current operational state of the interface.
  1378.                       The testing(3) state indicates that no operational
  1379.                       packets can be passed."
  1380.               ::= { ifEntry 8 }
  1381.  
  1382.           ifLastChange OBJECT-TYPE
  1383.               SYNTAX      TimeTicks
  1384.               MAX-ACCESS  read-only
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.           Expires December 1993                                [Page 24]
  1391.  
  1392.  
  1393.  
  1394.  
  1395.           Draft             Interfaces Group Evolution         June 1993
  1396.  
  1397.  
  1398.               STATUS      current
  1399.               DESCRIPTION
  1400.                       "The value of sysUpTime at the time the interface
  1401.                       entered its current operational state.  If the
  1402.                       current state was entered prior to the last re-
  1403.                       initialization of the local network management
  1404.                       subsystem, then this object contains a zero
  1405.                       value."
  1406.               ::= { ifEntry 9 }
  1407.  
  1408.           ifInOctets OBJECT-TYPE
  1409.               SYNTAX      Counter32
  1410.               MAX-ACCESS  read-only
  1411.               STATUS      current
  1412.               DESCRIPTION
  1413.                       "The total number of octets received on the
  1414.                       interface, including framing characters."
  1415.               ::= { ifEntry 10 }
  1416.  
  1417.           ifInUcastPkts OBJECT-TYPE
  1418.               SYNTAX      Counter32
  1419.               MAX-ACCESS  read-only
  1420.               STATUS      current
  1421.               DESCRIPTION
  1422.                       "The number of packets, delivered by this sub-
  1423.                       layer to a higher (sub-)layer, which were not
  1424.                       addressed to a multicast or broadcast address at
  1425.                       this sub-layer."
  1426.               ::= { ifEntry 11 }
  1427.  
  1428.           ifInNUcastPkts OBJECT-TYPE
  1429.               SYNTAX  Counter32
  1430.               MAX-ACCESS  read-only
  1431.               STATUS      deprecated
  1432.               DESCRIPTION
  1433.                       "The number of packets, delivered by this sub-
  1434.                       layer to a higher (sub-)layer, which were
  1435.                       addressed to a multicast or broadcast address at
  1436.                       this sub-layer.
  1437.  
  1438.                       This object is deprecated in favour of
  1439.                       ifInMulticastPkts and ifInBroadcastPkts."
  1440.               ::= { ifEntry 12 }
  1441.  
  1442.           ifInDiscards OBJECT-TYPE
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.           Expires December 1993                                [Page 25]
  1449.  
  1450.  
  1451.  
  1452.  
  1453.           Draft             Interfaces Group Evolution         June 1993
  1454.  
  1455.  
  1456.               SYNTAX      Counter32
  1457.               MAX-ACCESS  read-only
  1458.               STATUS      current
  1459.               DESCRIPTION
  1460.                       "The number of inbound packets which were chosen
  1461.                       to be discarded even though no errors had been
  1462.                       detected to prevent their being deliverable to a
  1463.                       higher-layer protocol.  One possible reason for
  1464.                       discarding such a packet could be to free up
  1465.                       buffer space."
  1466.               ::= { ifEntry 13 }
  1467.  
  1468.           ifInErrors OBJECT-TYPE
  1469.               SYNTAX      Counter32
  1470.               MAX-ACCESS  read-only
  1471.               STATUS      current
  1472.               DESCRIPTION
  1473.                       "The number of inbound packets that contained
  1474.                       errors preventing them from being deliverable to a
  1475.                       higher-layer protocol."
  1476.               ::= { ifEntry 14 }
  1477.  
  1478.           ifInUnknownProtos OBJECT-TYPE
  1479.               SYNTAX      Counter32
  1480.               MAX-ACCESS  read-only
  1481.               STATUS      current
  1482.               DESCRIPTION
  1483.                       "The number of packets received via the interface
  1484.                       which were discarded because of an unknown or
  1485.                       unsupported protocol."
  1486.               ::= { ifEntry 15 }
  1487.  
  1488.           ifOutOctets OBJECT-TYPE
  1489.               SYNTAX      Counter32
  1490.               MAX-ACCESS  read-only
  1491.               STATUS      current
  1492.               DESCRIPTION
  1493.                       "The total number of octets transmitted out of the
  1494.                       interface, including framing characters."
  1495.               ::= { ifEntry 16 }
  1496.  
  1497.           ifOutUcastPkts OBJECT-TYPE
  1498.               SYNTAX      Counter32
  1499.               MAX-ACCESS  read-only
  1500.               STATUS      current
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.           Expires December 1993                                [Page 26]
  1507.  
  1508.  
  1509.  
  1510.  
  1511.           Draft             Interfaces Group Evolution         June 1993
  1512.  
  1513.  
  1514.               DESCRIPTION
  1515.                       "The total number of packets that higher-level
  1516.                       protocols requested be transmitted, and which were
  1517.                       not addressed to a multicast or broadcast address
  1518.                       at this sub-layer, including those that were
  1519.                       discarded or not sent."
  1520.               ::= { ifEntry 17 }
  1521.  
  1522.           ifOutNUcastPkts OBJECT-TYPE
  1523.               SYNTAX      Counter32
  1524.               MAX-ACCESS  read-only
  1525.               STATUS      deprecated
  1526.               DESCRIPTION
  1527.                       "The total number of packets that higher-level
  1528.                       protocols requested be transmitted, and which were
  1529.                       addressed to a multicast or broadcast address at
  1530.                       this sub-layer, including those that were
  1531.                       discarded or not sent.
  1532.  
  1533.                       This object is deprecated in favour of
  1534.                       ifOutMulticastPkts and ifOutBroadcastPkts."
  1535.               ::= { ifEntry 18 }
  1536.  
  1537.           ifOutDiscards OBJECT-TYPE
  1538.               SYNTAX      Counter32
  1539.               MAX-ACCESS  read-only
  1540.               STATUS      current
  1541.               DESCRIPTION
  1542.                       "The number of outbound packets which were chosen
  1543.                       to be discarded even though no errors had been
  1544.                       detected to prevent their being transmitted.  One
  1545.                       possible reason for discarding such a packet could
  1546.                       be to free up buffer space."
  1547.               ::= { ifEntry 19 }
  1548.  
  1549.           ifOutErrors OBJECT-TYPE
  1550.               SYNTAX      Counter32
  1551.               MAX-ACCESS  read-only
  1552.               STATUS      current
  1553.               DESCRIPTION
  1554.                       "The number of outbound packets that could not be
  1555.                       transmitted because of errors."
  1556.               ::= { ifEntry 20 }
  1557.  
  1558.           ifOutQLen OBJECT-TYPE
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.           Expires December 1993                                [Page 27]
  1565.  
  1566.  
  1567.  
  1568.  
  1569.           Draft             Interfaces Group Evolution         June 1993
  1570.  
  1571.  
  1572.               SYNTAX      Gauge32
  1573.               MAX-ACCESS  read-only
  1574.               STATUS      current
  1575.               DESCRIPTION
  1576.                       "The length of the output packet queue (in
  1577.                       packets)."
  1578.               ::= { ifEntry 21 }
  1579.  
  1580.           ifSpecific OBJECT-TYPE
  1581.               SYNTAX      OBJECT IDENTIFIER
  1582.               MAX-ACCESS  read-only
  1583.               STATUS      current
  1584.               DESCRIPTION
  1585.                       "A reference to MIB definitions specific to the
  1586.                       particular media being used to realize the
  1587.                       interface.  For example, if the interface is
  1588.                       realized by an ethernet, then the value of this
  1589.                       object refers to a document defining objects
  1590.                       specific to ethernet.  If this information is not
  1591.                       present, its value should be set to the OBJECT
  1592.                       IDENTIFIER { 0 0 }, which is a syntactically valid
  1593.                       object identifier, and any conformant
  1594.                       implementation of ASN.1 and BER must be able to
  1595.                       generate and recognize this value."
  1596.               ::= { ifEntry 22 }
  1597.  
  1598.           ifName OBJECT-TYPE
  1599.               SYNTAX      DisplayString
  1600.               MAX-ACCESS  read-only
  1601.               STATUS      current
  1602.               DESCRIPTION
  1603.                       "The textual name of the interface which this
  1604.                       ifEntry comprises.  The value of this object
  1605.                       should be the name of the interface as assigned by
  1606.                       the host and should be suitable for use in
  1607.                       commands entered at the host's `console'.  This
  1608.                       might be a text name, such as `le0' or a simple
  1609.                       port number, such as `1', depending on the
  1610.                       interface naming syntax of the host. If there are
  1611.                       several ifEntrys that comprise the interface, then
  1612.                       each will have the same value of ifName.  If there
  1613.                       is no local name, or this object is otherwise not
  1614.                       applicable, then this object contains a 0-length
  1615.                       string. "
  1616.               ::= { ifEntry 23 }
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.           Expires December 1993                                [Page 28]
  1623.  
  1624.  
  1625.  
  1626.  
  1627.           Draft             Interfaces Group Evolution         June 1993
  1628.  
  1629.  
  1630.           ifInMulticastPkts OBJECT-TYPE
  1631.               SYNTAX      Counter32
  1632.               MAX-ACCESS  read-only
  1633.               STATUS      current
  1634.               DESCRIPTION
  1635.                       "The number of packets, delivered by this sub-
  1636.                       layer to a higher (sub-)layer, which were
  1637.                       addressed to a multicast address at this sub-
  1638.                       layer.  For a MAC layer protocol, this includes
  1639.                       both Group and Functional addresses."
  1640.               ::= { ifEntry 24 }
  1641.  
  1642.           ifInBroadcastPkts OBJECT-TYPE
  1643.               SYNTAX      Counter32
  1644.               MAX-ACCESS  read-only
  1645.               STATUS      current
  1646.               DESCRIPTION
  1647.                       "The number of packets, delivered by this sub-
  1648.                       layer to a higher (sub-)layer, which were
  1649.                       addressed to a broadcast address at this sub-
  1650.                       layer."
  1651.               ::= { ifEntry 25 }
  1652.  
  1653.           ifOutMulticastPkts OBJECT-TYPE
  1654.               SYNTAX      Counter32
  1655.               MAX-ACCESS  read-only
  1656.               STATUS      current
  1657.               DESCRIPTION
  1658.                       "The total number of packets that higher-level
  1659.                       protocols requested be transmitted, and which were
  1660.                       addressed to a multicast address at this sub-
  1661.                       layer, including those that were discarded or not
  1662.                       sent.  For a MAC layer protocol, this includes
  1663.                       both Group and Functional addresses."
  1664.               ::= { ifEntry 26 }
  1665.  
  1666.           ifOutBroadcastPkts OBJECT-TYPE
  1667.               SYNTAX      Counter32
  1668.               MAX-ACCESS  read-only
  1669.               STATUS      current
  1670.               DESCRIPTION
  1671.                       "The total number of packets that higher-level
  1672.                       protocols requested be transmitted, and which were
  1673.                       addressed to a broadcast address at this sub-
  1674.                       layer, including those that were discarded or not
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.           Expires December 1993                                [Page 29]
  1681.  
  1682.  
  1683.  
  1684.  
  1685.           Draft             Interfaces Group Evolution         June 1993
  1686.  
  1687.  
  1688.                       sent."
  1689.               ::= { ifEntry 27 }
  1690.  
  1691.           --
  1692.           -- High Capacity Counter objects. These objects are all
  1693.           -- 64 bit versions of the "basic" ifEntry counters. These
  1694.           -- objects all have the same basic semantics as their 32-bit
  1695.           -- counterparts, however, their syntax has been extended
  1696.           -- to 64 bits.
  1697.           --
  1698.  
  1699.           ifHCInOctets OBJECT-TYPE
  1700.               SYNTAX      Counter64
  1701.               MAX-ACCESS  read-only
  1702.               STATUS      current
  1703.               DESCRIPTION
  1704.                       "The total number of octets received on the
  1705.                       interface, including framing characters. This
  1706.                       object is a 64-bit version of ifInOctets."
  1707.               ::= { ifEntry 28 }
  1708.  
  1709.           ifHCInUcastPkts OBJECT-TYPE
  1710.               SYNTAX      Counter64
  1711.               MAX-ACCESS  read-only
  1712.               STATUS      current
  1713.               DESCRIPTION
  1714.                       "The number of packets, delivered by this sub-
  1715.                       layer to a higher (sub-)layer, which were not
  1716.                       addressed to a multicast or broadcast address at
  1717.                       this sub-layer.  This object is a 64-bit version
  1718.                       of ifInUcastPkts."
  1719.               ::= { ifEntry 29 }
  1720.  
  1721.           ifHCInMulticastPkts OBJECT-TYPE
  1722.               SYNTAX      Counter64
  1723.               MAX-ACCESS  read-only
  1724.               STATUS      current
  1725.               DESCRIPTION
  1726.                       "The number of packets, delivered by this sub-
  1727.                       layer to a higher (sub-)layer, which were
  1728.                       addressed to a multicast address at this sub-
  1729.                       layer.  For a MAC layer protocol, this includes
  1730.                       both Group and Functional addresses.  This object
  1731.                       is a 64-bit version of ifInMulticastPkts."
  1732.               ::= { ifEntry 30 }
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.           Expires December 1993                                [Page 30]
  1739.  
  1740.  
  1741.  
  1742.  
  1743.           Draft             Interfaces Group Evolution         June 1993
  1744.  
  1745.  
  1746.           ifHCInBroadcastPkts OBJECT-TYPE
  1747.               SYNTAX      Counter64
  1748.               MAX-ACCESS  read-only
  1749.               STATUS      current
  1750.               DESCRIPTION
  1751.                       "The number of packets, delivered by this sub-
  1752.                       layer to a higher (sub-)layer, which were
  1753.                       addressed to a broadcast address at this sub-
  1754.                       layer.  This object is a 64-bit version of
  1755.                       ifInBroadcastPkts."
  1756.               ::= { ifEntry 31 }
  1757.  
  1758.           ifHCInDiscards OBJECT-TYPE
  1759.               SYNTAX      Counter64
  1760.               MAX-ACCESS  read-only
  1761.               STATUS      current
  1762.               DESCRIPTION
  1763.                       "The number of inbound packets which were chosen
  1764.                       to be discarded even though no errors had been
  1765.                       detected to prevent their being deliverable to a
  1766.                       higher (sub-)layer.  One possible reason for
  1767.                       discarding such a packet could be to free up
  1768.                       buffer space. This object is a 64-bit version of
  1769.                       ifInDiscards."
  1770.               ::= { ifEntry 32 }
  1771.  
  1772.           ifHCInErrors OBJECT-TYPE
  1773.               SYNTAX      Counter64
  1774.               MAX-ACCESS  read-only
  1775.               STATUS      current
  1776.               DESCRIPTION
  1777.                       "The number of inbound packets that contained
  1778.                       errors preventing them from being deliverable to a
  1779.                       higher (sub-)layer.  This object is a 64-bit
  1780.                       version of ifInErrors."
  1781.               ::= { ifEntry 33 }
  1782.  
  1783.           ifHCInUnknownProtos OBJECT-TYPE
  1784.               SYNTAX      Counter64
  1785.               MAX-ACCESS  read-only
  1786.               STATUS      current
  1787.               DESCRIPTION
  1788.                       "The number of packets received via the interface
  1789.                       which were discarded because of an unknown or
  1790.                       unsupported protocol.  This object is a 64-bit
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.           Expires December 1993                                [Page 31]
  1797.  
  1798.  
  1799.  
  1800.  
  1801.           Draft             Interfaces Group Evolution         June 1993
  1802.  
  1803.  
  1804.                       version of ifInUnknownProtos."
  1805.               ::= { ifEntry 34 }
  1806.  
  1807.           ifHCOutOctets OBJECT-TYPE
  1808.               SYNTAX      Counter64
  1809.               MAX-ACCESS  read-only
  1810.               STATUS      current
  1811.               DESCRIPTION
  1812.                       "The total number of octets transmitted out of the
  1813.                       interface, including framing characters.  This
  1814.                       object is a 64-bit version of ifOutOctets."
  1815.               ::= { ifEntry 35 }
  1816.  
  1817.           ifHCOutUcastPkts OBJECT-TYPE
  1818.               SYNTAX      Counter64
  1819.               MAX-ACCESS  read-only
  1820.               STATUS      current
  1821.               DESCRIPTION
  1822.                       "The total number of packets that higher-level
  1823.                       protocols requested be transmitted, and which were
  1824.                       not addressed to a multicast or broadcast address
  1825.                       at this sub-layer, including those that were
  1826.                       discarded or not sent.  This object is a 64-bit
  1827.                       version of ifOutUcastPkts."
  1828.               ::= { ifEntry 36 }
  1829.  
  1830.           ifHCOutMulticastPkts OBJECT-TYPE
  1831.               SYNTAX      Counter64
  1832.               MAX-ACCESS  read-only
  1833.               STATUS      current
  1834.               DESCRIPTION
  1835.                       "The total number of packets that higher-level
  1836.                       protocols requested be transmitted, and which were
  1837.                       addressed to a multicast address at this sub-
  1838.                       layer, including those that were discarded or not
  1839.                       sent.  For a MAC layer protocol, this includes
  1840.                       both Group and Functional addresses.  This object
  1841.                       is a 64-bit version of ifOutMulticastPkts."
  1842.               ::= { ifEntry 37 }
  1843.  
  1844.           ifHCOutBroadcastPkts OBJECT-TYPE
  1845.               SYNTAX      Counter64
  1846.               MAX-ACCESS  read-only
  1847.               STATUS      current
  1848.               DESCRIPTION
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.           Expires December 1993                                [Page 32]
  1855.  
  1856.  
  1857.  
  1858.  
  1859.           Draft             Interfaces Group Evolution         June 1993
  1860.  
  1861.  
  1862.                       "The total number of packets that higher-level
  1863.                       protocols requested be transmitted, and which were
  1864.                       addressed to a broadcast address at this sub-
  1865.                       layer, including those that were discarded or not
  1866.                       sent.  This object is a 64-bit version of
  1867.                       ifOutBroadcastPkts."
  1868.               ::= { ifEntry 38 }
  1869.  
  1870.           ifHCOutDiscards OBJECT-TYPE
  1871.               SYNTAX      Counter64
  1872.               MAX-ACCESS  read-only
  1873.               STATUS      current
  1874.               DESCRIPTION
  1875.                       "The number of outbound packets which were chosen
  1876.                       to be discarded even though no errors had been
  1877.                       detected to prevent their being transmitted.  One
  1878.                       possible reason for discarding such a packet could
  1879.                       be to free up buffer space.  This object is a 64-
  1880.                       bit version of ifOutDiscards."
  1881.               ::= { ifEntry 39 }
  1882.  
  1883.           ifHCOutErrors OBJECT-TYPE
  1884.               SYNTAX      Counter64
  1885.               MAX-ACCESS  read-only
  1886.               STATUS      current
  1887.               DESCRIPTION
  1888.                       "The number of outbound packets that could not be
  1889.                       transmitted because of errors.  This object is a
  1890.                       64-bit version of ifOutErrors."
  1891.               ::= { ifEntry 40 }
  1892.  
  1893.           ifLinkUpDownTrapEnable  OBJECT-TYPE
  1894.               SYNTAX      INTEGER { enabled(1), disabled(2) }
  1895.               MAX-ACCESS  read-write
  1896.               STATUS      current
  1897.               DESCRIPTION
  1898.                       "Indicates whether linkUp/linkDown traps should be
  1899.                       generated for this interface.
  1900.  
  1901.                       By default, this object should have the value
  1902.                       enabled(1) for interfaces which do not operate on
  1903.                       'top' of any other interface (as defined in the
  1904.                       ifStackTable), and disabled(2) otherwise."
  1905.               ::= { ifEntry 41 }
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.           Expires December 1993                                [Page 33]
  1913.  
  1914.  
  1915.  
  1916.  
  1917.           Draft             Interfaces Group Evolution         June 1993
  1918.  
  1919.  
  1920.           ifHighSpeed OBJECT-TYPE
  1921.               SYNTAX      Gauge32
  1922.               MAX-ACCESS  read-only
  1923.               STATUS      current
  1924.               DESCRIPTION
  1925.                       "An estimate of the interface's current bandwidth
  1926.                       in units of 1,000,000 bits per second.  If this
  1927.                       object reports a value of `n' then the speed of
  1928.                       the interface is somewhere in the range of `n-
  1929.                       500,000' to `n+499,999'.  For interfaces which do
  1930.                       not vary in bandwidth or for those where no
  1931.                       accurate estimation can be made, this object
  1932.                       should contain the nominal bandwidth.  For a sub-
  1933.                       layer which has no concept of bandwidth, this
  1934.                       object should be zero."
  1935.               ::= { ifEntry 42 }
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.           Expires December 1993                                [Page 34]
  1971.  
  1972.  
  1973.  
  1974.  
  1975.           Draft             Interfaces Group Evolution         June 1993
  1976.  
  1977.  
  1978.           --
  1979.           --           The Interface Stack Group
  1980.           --
  1981.           -- Implementation of this group is mandatory for all systems
  1982.           --
  1983.  
  1984.           ifStackTable  OBJECT-TYPE
  1985.                SYNTAX        SEQUENCE OF IfStackEntry
  1986.                MAX-ACCESS    not-accessible
  1987.                STATUS        current
  1988.                DESCRIPTION
  1989.                       "The table containing information on the
  1990.                       relationships between the multiple sub-layers of
  1991.                       network interfaces.  In particular, it contains
  1992.                       information on which sub-layers run 'on top of'
  1993.                       which other sub-layers.  Each sub-layer
  1994.                       corresponds to a conceptual row in the ifTable."
  1995.                ::= { ifMIBObjects 1 }
  1996.  
  1997.  
  1998.           ifStackEntry  OBJECT-TYPE
  1999.                SYNTAX        IfStackEntry
  2000.                MAX-ACCESS    not-accessible
  2001.                STATUS        current
  2002.                DESCRIPTION
  2003.                       "Information on a particular relationship between
  2004.                       two sub-layers, specifying that one sub-layer runs
  2005.                       on 'top' of the other sub-layer.  Each sub-layer
  2006.                       corresponds to a conceptual row in the ifTable."
  2007.                INDEX { ifStackHigherLayer, ifStackLowerLayer }
  2008.                ::= { ifStackTable 1 }
  2009.  
  2010.  
  2011.           IfStackEntry ::=
  2012.               SEQUENCE {
  2013.                   ifStackHigherLayer  Integer32,
  2014.                   ifStackLowerLayer   Integer32,
  2015.                   ifStackStatus       RowStatus
  2016.                }
  2017.  
  2018.  
  2019.           ifStackHigherLayer  OBJECT-TYPE
  2020.                SYNTAX        Integer32
  2021.                MAX-ACCESS    not-accessible
  2022.                STATUS        current
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.           Expires December 1993                                [Page 35]
  2029.  
  2030.  
  2031.  
  2032.  
  2033.           Draft             Interfaces Group Evolution         June 1993
  2034.  
  2035.  
  2036.                DESCRIPTION
  2037.                       "The value of ifIndex corresponding to the higher
  2038.                       sub-layer of the relationship, i.e., the sub-layer
  2039.                       which runs on 'top' of the sub-layer identified by
  2040.                       the corresponding instance of ifStackLowerLayer.
  2041.                       If there is no higher sub-layer (below the
  2042.                       internetwork layer), then this object has the
  2043.                       value 0."
  2044.                ::= { ifStackEntry 1 }
  2045.  
  2046.  
  2047.           ifStackLowerLayer  OBJECT-TYPE
  2048.                SYNTAX        Integer32
  2049.                MAX-ACCESS    not-accessible
  2050.                STATUS        current
  2051.                DESCRIPTION
  2052.                       "The value of ifIndex corresponding to the lower
  2053.                       sub-layer of the relationship, i.e., the sub-layer
  2054.                       which runs 'below' the sub-layer identified by the
  2055.                       corresponding instance of ifStackHigherLayer.  If
  2056.                       there is no lower sub-layer, then this object has
  2057.                       the value 0."
  2058.                ::= { ifStackEntry 2 }
  2059.  
  2060.  
  2061.           ifStackStatus  OBJECT-TYPE
  2062.               SYNTAX         RowStatus
  2063.               MAX-ACCESS     read-write
  2064.               STATUS         current
  2065.               DESCRIPTION
  2066.                       "The status of the relationship between two sub-
  2067.                       layers.
  2068.  
  2069.                       Changing the value of this object from 'active' to
  2070.                       'notInService' or 'destroy' will likely have
  2071.                       consequences up and down the interface stack.
  2072.                       Thus, write access to this object is likely to be
  2073.                       inappropriate for some types of interfaces, and
  2074.                       many implementations will choose not to support
  2075.                       write-access for any type of interface."
  2076.               ::= { ifStackEntry 3 }
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.           Expires December 1993                                [Page 36]
  2087.  
  2088.  
  2089.  
  2090.  
  2091.           Draft             Interfaces Group Evolution         June 1993
  2092.  
  2093.  
  2094.           --   Interface Extension Table
  2095.           --
  2096.           --  This group of objects is mandatory for all types of
  2097.           --  subnetwork interface.
  2098.  
  2099.           ifExtnsTable    OBJECT-TYPE
  2100.               SYNTAX      SEQUENCE OF IfExtnsEntry
  2101.               MAX-ACCESS  not-accessible
  2102.               STATUS      current
  2103.               DESCRIPTION
  2104.                       "A list of interfaces extension entries.  The
  2105.                       number of entries is given by the value of
  2106.                       ifNumber."
  2107.               ::= { ifExtensions 1 }
  2108.  
  2109.           ifExtnsEntry    OBJECT-TYPE
  2110.               SYNTAX      IfExtnsEntry
  2111.               MAX-ACCESS  not-accessible
  2112.               STATUS      current
  2113.               DESCRIPTION
  2114.                       "An extension to the ifTable containing additional
  2115.                       objects at the subnetwork layer and below for a
  2116.                       particular interface."
  2117.               AUGMENTS  { ifEntry }
  2118.               ::= { ifExtnsTable 1 }
  2119.  
  2120.           IfExtnsEntry ::=
  2121.               SEQUENCE {
  2122.                   ifExtnsChipSet      OBJECT IDENTIFIER,
  2123.                   ifExtnsRevWare      DisplayString,
  2124.                   ifExtnsPromiscuous  INTEGER
  2125.               }
  2126.  
  2127.           ifExtnsChipSet  OBJECT-TYPE
  2128.               SYNTAX      OBJECT IDENTIFIER
  2129.               MAX-ACCESS  read-only
  2130.               STATUS      current
  2131.               DESCRIPTION
  2132.                       "This object identifies the hardware chip set
  2133.                       being used in the interface.  The assignment of
  2134.                       OBJECT IDENTIFIERs to various types of hardware
  2135.                       chip sets is defined elsewhere.  If the hardware
  2136.                       chip set is unknown, the object identifier
  2137.  
  2138.                           unknownChipSet OBJECT IDENTIFIER ::= { 0 0 }
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.           Expires December 1993                                [Page 37]
  2145.  
  2146.  
  2147.  
  2148.  
  2149.           Draft             Interfaces Group Evolution         June 1993
  2150.  
  2151.  
  2152.                       is returned.  Note that unknownChipSet is a
  2153.                       syntactically valid object identifier, and any
  2154.                       conformant implementation of ASN.1 and the BER
  2155.                       must be able to generate and recognize this
  2156.                       value."
  2157.               ::= { ifExtnsEntry 2 }
  2158.  
  2159.           ifExtnsRevWare  OBJECT-TYPE
  2160.               SYNTAX      DisplayString (SIZE (0..255))
  2161.               MAX-ACCESS  read-only
  2162.               STATUS      current
  2163.               DESCRIPTION
  2164.                       "An arbitrary octet string that describes the
  2165.                       firmware version of this interface.  It is
  2166.                       intended that this should be human readable.  It
  2167.                       must only contain ASCII printable characters.
  2168.                       Typically this will be the firmware version of the
  2169.                       main interface software."
  2170.               ::= { ifExtnsEntry 3 }
  2171.  
  2172.           ifExtnsPromiscuous  OBJECT-TYPE
  2173.               SYNTAX      INTEGER {
  2174.                                true(1),
  2175.                                false(2)
  2176.                           }
  2177.               MAX-ACCESS  read-write
  2178.               STATUS      current
  2179.               DESCRIPTION
  2180.                       "This object has a value of false(2) if this
  2181.                       interface only accepts packets/frames that are
  2182.                       addressed to this station. This object has a value
  2183.                       of true(1) when the station accepts all
  2184.                       packets/frames transmitted on the media.  The
  2185.                       value true(1) is only legal on certain types of
  2186.                       media.  If legal, setting this object to a value
  2187.                       of true(1) may require the interface to be reset
  2188.                       before becoming effective."
  2189.               ::= { ifExtnsEntry 8 }
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.           Expires December 1993                                [Page 38]
  2203.  
  2204.  
  2205.  
  2206.  
  2207.           Draft             Interfaces Group Evolution         June 1993
  2208.  
  2209.  
  2210.           --
  2211.           --    The Interface Test Table
  2212.           --
  2213.           -- This group of objects is optional.
  2214.  
  2215.           ifExtnsTestTable   OBJECT-TYPE
  2216.               SYNTAX      SEQUENCE OF IfExtnsTestEntry
  2217.               MAX-ACCESS  not-accessible
  2218.               STATUS      current
  2219.               DESCRIPTION
  2220.                       "This table contains one entry per interface."
  2221.               ::= { ifExtensions 2 }
  2222.  
  2223.           ifExtnsTestEntry OBJECT-TYPE
  2224.               SYNTAX       IfExtnsTestEntry
  2225.               MAX-ACCESS   not-accessible
  2226.               STATUS       current
  2227.               DESCRIPTION
  2228.                       "An entry containing objects for invoking tests on
  2229.                       an interface."
  2230.               AUGMENTS  { ifEntry }
  2231.               ::= { ifExtnsTestTable 1 }
  2232.  
  2233.           IfExtnsTestEntry ::=
  2234.               SEQUENCE {
  2235.                   ifExtnsTestCommunity    OCTET STRING,
  2236.                   ifExtnsTestRequestId    INTEGER,
  2237.                   ifExtnsTestType         OBJECT IDENTIFIER,
  2238.                   ifExtnsTestResult       INTEGER,
  2239.                   ifExtnsTestCode         OBJECT IDENTIFIER,
  2240.                   ifExtnsTestContext      OBJECT IDENTIFIER
  2241.               }
  2242.  
  2243.           ifExtnsTestCommunity  OBJECT-TYPE
  2244.               SYNTAX       OCTET STRING
  2245.               MAX-ACCESS   read-only
  2246.               STATUS       current
  2247.               DESCRIPTION
  2248.                       "This object contains the name of the SNMPv1
  2249.                       authentication community (see RFC 1157) which was
  2250.                       used to authenticate the SNMPv1 message which
  2251.                       invoked the current or most recent test on this
  2252.                       interface.  If the authentication community is
  2253.                       unknown or undefined, or the current or more
  2254.                       recent test was invoked with an SNMPv2 message,
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.           Expires December 1993                                [Page 39]
  2261.  
  2262.  
  2263.  
  2264.  
  2265.           Draft             Interfaces Group Evolution         June 1993
  2266.  
  2267.  
  2268.                       then this value contains the zero-length string."
  2269.               ::= { ifExtnsTestEntry 2 }
  2270.  
  2271.           ifExtnsTestRequestId  OBJECT-TYPE
  2272.               SYNTAX       INTEGER
  2273.               MAX-ACCESS   read-only
  2274.               STATUS       current
  2275.               DESCRIPTION
  2276.                       "This object contains the value of the request-id
  2277.                       field in the SNMP PDU (see RFCs 1157 and 1448)
  2278.                       which invoked the current or most recent test on
  2279.                       this interface.  If the request-id is unknown or
  2280.                       undefined, this value contains the value zero."
  2281.               ::= { ifExtnsTestEntry 3 }
  2282.  
  2283.           ifExtnsTestType  OBJECT-TYPE
  2284.               SYNTAX       OBJECT IDENTIFIER
  2285.               MAX-ACCESS   read-write
  2286.               STATUS       current
  2287.               DESCRIPTION
  2288.                       "A control variable used to start and stop
  2289.                       operator-initiated interface tests.  Most OBJECT
  2290.                       IDENTIFIER values assigned to tests are defined
  2291.                       elsewhere, in associ- ation with specific types of
  2292.                       interface.  However, this document assigns a value
  2293.                       for a full-duplex loopback test, and defines the
  2294.                       special meanings of the subject identifier:
  2295.  
  2296.                           noTest  OBJECT IDENTIFIER ::= { 0 0 }
  2297.  
  2298.                       When the value noTest is written to this object,
  2299.                       no action is taken unless a test is in progress,
  2300.                       in which case the test is aborted.  Writing any
  2301.                       other value to this object is only valid when no
  2302.                       test is currently in progress, in which case the
  2303.                       indicated test is initiated.  Note that noTest is
  2304.                       a syntactically valid object identifier, and any
  2305.                       conformant implementation of ASN.1 and BER must be
  2306.                       able to generate and recognize this value.
  2307.  
  2308.                       When read, this object always returns the most
  2309.                       recent value that ifExtnsTestType was set to.  If
  2310.                       it has not been set since the last initialization
  2311.                       of the network management subsystem on the agent,
  2312.                       a value of noTest is returned."
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.           Expires December 1993                                [Page 40]
  2319.  
  2320.  
  2321.  
  2322.  
  2323.           Draft             Interfaces Group Evolution         June 1993
  2324.  
  2325.  
  2326.               ::= { ifExtnsTestEntry 4 }
  2327.  
  2328.           wellKnownTests OBJECT IDENTIFIER ::= { ifExtensions 4 }
  2329.  
  2330.           --  full-duplex loopback test
  2331.           testFullDuplexLoopBack OBJECT IDENTIFIER ::= { wellKnownTests 1 }
  2332.  
  2333.           ifExtnsTestResult  OBJECT-TYPE
  2334.               SYNTAX       INTEGER {
  2335.                                none(1),          -- no test yet requested
  2336.                                success(2),
  2337.                                inProgress(3),
  2338.                                notSupported(4),
  2339.                                unAbleToRun(5),   -- due to state of system
  2340.                                aborted(6),
  2341.                                failed(7)
  2342.                            }
  2343.               MAX-ACCESS   read-only
  2344.               STATUS       current
  2345.               DESCRIPTION
  2346.                       "This object contains the result of the most
  2347.                       recently requested test, or the value none(1) if
  2348.                       no tests have been requested since the last reset.
  2349.                       Note that this facility provides no provision for
  2350.                       saving the results of one test when starting
  2351.                       another, as could be required if used by multiple
  2352.                       managers concurrently."
  2353.               ::= { ifExtnsTestEntry 5 }
  2354.  
  2355.           ifExtnsTestCode  OBJECT-TYPE
  2356.               SYNTAX       OBJECT IDENTIFIER
  2357.               MAX-ACCESS   read-only
  2358.               STATUS       current
  2359.               DESCRIPTION
  2360.                       "This object contains a code which contains more
  2361.                       specific information on the test result, for
  2362.                       example an error-code after a failed test.  Error
  2363.                       codes and other values this object may take are
  2364.                       specific to the type of interface and/or test.
  2365.                       However, one subject identifier:
  2366.  
  2367.                           testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
  2368.  
  2369.                       for use if no additional result code is available.
  2370.                       Note that testCodeUnknown is a syntactically valid
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.           Expires December 1993                                [Page 41]
  2377.  
  2378.  
  2379.  
  2380.  
  2381.           Draft             Interfaces Group Evolution         June 1993
  2382.  
  2383.  
  2384.                       object identifier, and any conformant
  2385.                       implementation of ASN.1 and the BER must be able
  2386.                       to generate and recognize this value."
  2387.               ::= { ifExtnsTestEntry 6 }
  2388.  
  2389.           ifExtnsTestContext  OBJECT-TYPE
  2390.               SYNTAX       OBJECT IDENTIFIER
  2391.               MAX-ACCESS   read-only
  2392.               STATUS       current
  2393.               DESCRIPTION
  2394.                       "This object contains the identity of the SNMPv2
  2395.                       context referenced by the SNMPv2 Message which
  2396.                       invoked the current or most recent test on this
  2397.                       interface.  If the current or most recent test was
  2398.                       invoked by an SNMPv1 message, then this object
  2399.                       contains the value { 0 0 }."
  2400.               ::= { ifExtnsTestEntry 7 }
  2401.  
  2402.  
  2403.           --   Generic Receive Address Table
  2404.           --
  2405.           -- This group of objects is mandatory for all types of
  2406.           -- interfaces which can receive packets/frames addressed to
  2407.           -- more than one address.
  2408.           --
  2409.           -- This conceptual table has been deprecated since the
  2410.           -- semantics of adding and deleting conceptual rows have
  2411.           -- been changed by the replacement of ifExtnsRcvAddrStatus
  2412.           -- with ifRcvAddrStatus which uses the RowStatus Textual
  2413.           -- convention.
  2414.  
  2415.           ifExtnsRcvAddrTable  OBJECT-TYPE
  2416.               SYNTAX      SEQUENCE OF IfExtnsRcvAddrEntry
  2417.               MAX-ACCESS  not-accessible
  2418.               STATUS      deprecated
  2419.               DESCRIPTION
  2420.                       "This table contains an entry for each address
  2421.                       (broadcast, multicast, or uni-cast) for which the
  2422.                       system will receive packets/frames on a particular
  2423.                       interface, except as follows:
  2424.  
  2425.                       - for an interface operating in promiscuous mode,
  2426.                       entries are only required for those addresses for
  2427.                       which the system would receive frames were it not
  2428.                       operating in promiscuous mode.
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.           Expires December 1993                                [Page 42]
  2435.  
  2436.  
  2437.  
  2438.  
  2439.           Draft             Interfaces Group Evolution         June 1993
  2440.  
  2441.  
  2442.                       - for 802.5 functional addresses, only one entry
  2443.                       is required, for the address which has the
  2444.                       functional address bit ANDed with the bit mask of
  2445.                       all functional addresses for which the interface
  2446.                       will accept frames."
  2447.               ::= { ifExtensions 3 }
  2448.  
  2449.           ifExtnsRcvAddrEntry  OBJECT-TYPE
  2450.               SYNTAX      IfExtnsRcvAddrEntry
  2451.               MAX-ACCESS  not-accessible
  2452.               STATUS      deprecated
  2453.               DESCRIPTION
  2454.                       "A list of objects identifying an address for
  2455.                       which the system will accept packets/frames on the
  2456.                       particular interface identified by the index value
  2457.                       ifIndex."
  2458.               INDEX  { ifIndex, ifExtnsRcvAddrAddress }
  2459.               ::= { ifExtnsRcvAddrTable 1 }
  2460.  
  2461.           IfExtnsRcvAddrEntry ::=
  2462.               SEQUENCE {
  2463.                   ifExtnsRcvAddrAddress   PhysAddress,
  2464.                   ifExtnsRcvAddrStatus    INTEGER
  2465.               }
  2466.  
  2467.           ifExtnsRcvAddrAddress OBJECT-TYPE
  2468.               SYNTAX      PhysAddress
  2469.               MAX-ACCESS  not-accessible
  2470.               STATUS      deprecated
  2471.               DESCRIPTION
  2472.                       "An address for which the system will accept
  2473.                       packets/frames on this entry's interface."
  2474.               ::= { ifExtnsRcvAddrEntry 2 }
  2475.  
  2476.           ifExtnsRcvAddrStatus OBJECT-TYPE
  2477.               SYNTAX      INTEGER {
  2478.                               other(1),
  2479.                               invalid(2),
  2480.                               volatile(3),
  2481.                               nonVolatile(4)
  2482.                           }
  2483.               MAX-ACCESS  read-write
  2484.               STATUS      deprecated
  2485.               DESCRIPTION
  2486.                       "This object has the value nonVolatile(4) for
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.           Expires December 1993                                [Page 43]
  2493.  
  2494.  
  2495.  
  2496.  
  2497.           Draft             Interfaces Group Evolution         June 1993
  2498.  
  2499.  
  2500.                       those entries in the table which are valid and
  2501.                       will not be deleted by the next restart of the
  2502.                       managed system.  Entries having the value
  2503.                       volatile(3) are valid and exist, but have not been
  2504.                       saved, so that will not exist after the next
  2505.                       restart of the managed system.  Entries having the
  2506.                       value other(1) are valid and exist but are not
  2507.                       classified as to whether they will continue to
  2508.                       exist after the next restart.  Entries having the
  2509.                       value invalid(2) are invalid and do not represent
  2510.                       an address for which an interface accepts frames.
  2511.  
  2512.                       Setting an object instance to one of the values
  2513.                       other(1), volatile(3), or nonVolatile(4) causes
  2514.                       the corresponding entry to exist or continue to
  2515.                       exist, and to take on the respective status as
  2516.                       regards the next restart of the managed system.
  2517.  
  2518.                       Setting an object instance to the value invalid(2)
  2519.                       causes the corresponding entry to become invalid
  2520.                       or cease to exist.  Note that it may be
  2521.                       inappropriate for some addresses to be
  2522.                       invalidated.  Accordingly, an agent may return an
  2523.                       error response if a management station attempts to
  2524.                       change this object to an inappropriate value.
  2525.  
  2526.                       It is an implementation-specific matter as to
  2527.                       whether the agent removes an invalidated entry
  2528.                       from the table.  Accordingly, management stations
  2529.                       must be prepared to receive tabular information
  2530.                       from agents that corresponds to entries not
  2531.                       currently in use.  Proper interpretation of such
  2532.                       entries requires examination of the relevant
  2533.                       ifExtnsRcvAddrStatus object instance."
  2534.               DEFVAL  { volatile }
  2535.               ::= { ifExtnsRcvAddrEntry 3 }
  2536.  
  2537.  
  2538.  
  2539.           --   Generic Receive Address Table
  2540.           --
  2541.           -- This group of objects is mandatory for all types of
  2542.           -- interfaces which can receive packets/frames addressed to
  2543.           -- more than one address.
  2544.           --
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.           Expires December 1993                                [Page 44]
  2551.  
  2552.  
  2553.  
  2554.  
  2555.           Draft             Interfaces Group Evolution         June 1993
  2556.  
  2557.  
  2558.           -- This table replaces the ifExtnsRcvAddr table.  The main
  2559.           -- difference is that this table makes use of the RowStatus
  2560.           -- textual convention, while ifExtnsRcvAddr does not.
  2561.  
  2562.           ifRcvAddrTable  OBJECT-TYPE
  2563.               SYNTAX      SEQUENCE OF IfRcvAddrEntry
  2564.               MAX-ACCESS  not-accessible
  2565.               STATUS      current
  2566.               DESCRIPTION
  2567.                       "This table contains an entry for each address
  2568.                       (broadcast, multicast, or uni-cast) for which the
  2569.                       system will receive packets/frames on a particular
  2570.                       interface, except as follows:
  2571.  
  2572.                       - for an interface operating in promiscuous mode,
  2573.                       entries are only required for those addresses for
  2574.                       which the system would receive frames were it not
  2575.                       operating in promiscuous mode.
  2576.  
  2577.                       - for 802.5 functional addresses, only one entry
  2578.                       is required, for the address which has the
  2579.                       functional address bit ANDed with the bit mask of
  2580.                       all functional addresses for which the interface
  2581.                       will accept frames."
  2582.               ::= { ifMIBObjects 2 }
  2583.  
  2584.           ifRcvAddrEntry  OBJECT-TYPE
  2585.               SYNTAX      IfRcvAddrEntry
  2586.               MAX-ACCESS  not-accessible
  2587.               STATUS      current
  2588.               DESCRIPTION
  2589.                       "A list of objects identifying an address for
  2590.                       which the system will accept packets/frames on the
  2591.                       particular interface identified by the index value
  2592.                       ifIndex."
  2593.               INDEX  { ifIndex, ifRcvAddrAddress }
  2594.               ::= { ifRcvAddrTable 1 }
  2595.  
  2596.           IfRcvAddrEntry ::=
  2597.               SEQUENCE {
  2598.                   ifRcvAddrAddress   PhysAddress,
  2599.                   ifRcvAddrStatus    INTEGER,
  2600.                           ifRcvAddrType
  2601.               }
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.           Expires December 1993                                [Page 45]
  2609.  
  2610.  
  2611.  
  2612.  
  2613.           Draft             Interfaces Group Evolution         June 1993
  2614.  
  2615.  
  2616.           ifRcvAddrAddress OBJECT-TYPE
  2617.               SYNTAX      PhysAddress
  2618.               MAX-ACCESS  not-accessible
  2619.               STATUS      current
  2620.               DESCRIPTION
  2621.                       "An address for which the system will accept
  2622.                       packets/frames on this entry's interface."
  2623.               ::= { ifRcvAddrEntry 1 }
  2624.  
  2625.           ifRcvAddrStatus OBJECT-TYPE
  2626.               SYNTAX      RowStatus
  2627.               MAX-ACCESS  read-write
  2628.               DESCRIPTION
  2629.                       "This object is used to create and delete rows in
  2630.                       the ifRcvAddrTable."
  2631.  
  2632.               ::= { ifRcvAddrEntry 2 }
  2633.  
  2634.           ifRcvAddrType OBJECT-TYPE
  2635.               SYNTAX      INTEGER {
  2636.                               other(1),
  2637.                               volatile(2),
  2638.                               nonVolatile(3)
  2639.                           }
  2640.  
  2641.               MAX-ACCESS  read-write
  2642.               DESCRIPTION
  2643.                       "This object has the value nonVolatile(4) for
  2644.                       those entries in the table which are valid and
  2645.                       will not be deleted by the next restart of the
  2646.                       managed system.  Entries having the value
  2647.                       volatile(3) are valid and exist, but have not been
  2648.                       saved, so that will not exist after the next
  2649.                       restart of the managed system.  Entries having the
  2650.                       value other(1) are valid and exist but are not
  2651.                       classified as to whether they will continue to
  2652.                       exist after the next restart.  Entries having the
  2653.                       value invalid(2) are invalid and do not represent
  2654.                       an address for which an interface accepts frames.
  2655.  
  2656.                       Setting an object instance to one of the values
  2657.                       other(1), volatile(3), or nonVolatile(4) causes
  2658.                       the corresponding entry to exist or continue to
  2659.                       exist, and to take on the respective status as
  2660.                       regards the next restart of the managed system.
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.           Expires December 1993                                [Page 46]
  2667.  
  2668.  
  2669.  
  2670.  
  2671.           Draft             Interfaces Group Evolution         June 1993
  2672.  
  2673.  
  2674.               DEFVAL  { volatile }
  2675.               ::= { ifRcvAddrEntry 3 }
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.           Expires December 1993                                [Page 47]
  2725.  
  2726.  
  2727.  
  2728.  
  2729.           Draft             Interfaces Group Evolution         June 1993
  2730.  
  2731.  
  2732.           -- conformance information
  2733.  
  2734.           ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
  2735.  
  2736.           ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
  2737.           ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
  2738.  
  2739.  
  2740.           -- compliance statements
  2741.  
  2742.           ifCompliance MODULE-COMPLIANCE
  2743.               STATUS  current
  2744.               DESCRIPTION
  2745.                       "The compliance statement for SNMPv2 entities
  2746.                       which have network interfaces."
  2747.  
  2748.               MODULE  -- this module
  2749.                   MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
  2750.  
  2751.                   GROUP       ifCharacterGroup
  2752.                   DESCRIPTION
  2753.                       "This group is mandatory only for those network
  2754.                       interfaces which are character-oriented or
  2755.                       packet-oriented and for which the value of the
  2756.                       corresponding instance of ifSpeed is less than or
  2757.                       equal to 20,000,000 bits/second."
  2758.  
  2759.                   GROUP       ifHCCharacterGroup
  2760.                   DESCRIPTION
  2761.                       "This group is mandatory only for those network
  2762.                       interfaces which are character-oriented or
  2763.                       packet-oriented and for which the value of the
  2764.                       corresponding instance of ifSpeed is greater than
  2765.                       20,000,000 bits/second."
  2766.  
  2767.                   GROUP       ifPacketGroup
  2768.                   DESCRIPTION
  2769.                       "This group is mandatory only for those network
  2770.                       interfaces which are packet-oriented and for which
  2771.                       the value of the corresponding instance of ifSpeed
  2772.                       is less than or equal to 20,000,000 bits/second."
  2773.  
  2774.                   GROUP       ifHCPacketGroup
  2775.                   DESCRIPTION
  2776.                       "This group is mandatory only for those network
  2777.  
  2778.  
  2779.  
  2780.  
  2781.  
  2782.           Expires December 1993                                [Page 48]
  2783.  
  2784.  
  2785.  
  2786.  
  2787.           Draft             Interfaces Group Evolution         June 1993
  2788.  
  2789.  
  2790.                       interfaces which are packet-oriented and for which
  2791.                       the value of the corresponding instance of ifSpeed
  2792.                       is greater than 20,000,000 bits/second."
  2793.  
  2794.                   GROUP       ifTestGroup
  2795.                   DESCRIPTION
  2796.                       "This group is optional."
  2797.  
  2798.                   GROUP       ifRcvAddressGroup
  2799.                   DESCRIPTION
  2800.                       "This group is mandatory only for interfaces which
  2801.                       can receive packets/frames addressed to more than
  2802.                       one address."
  2803.  
  2804.                   OBJECT      ifExtnsPromiscuous
  2805.                   MIN-ACCESS  read-only
  2806.                   DESCRIPTION
  2807.                       "Write access is not required."
  2808.  
  2809.                   OBJECT      ifStackStatus
  2810.                   SYNTAX      INTEGER { active(1) } -- subset of RowStatus
  2811.                   MIN-ACCESS  read-only
  2812.                   DESCRIPTION
  2813.                       "Write access is not required, and only one of the
  2814.                       six enumerated values for the RowStatus textual
  2815.                       convention need be supported, specifically:
  2816.                       active(1)."
  2817.               ::= { ifCompliances 1 }
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.           Expires December 1993                                [Page 49]
  2841.  
  2842.  
  2843.  
  2844.  
  2845.           Draft             Interfaces Group Evolution         June 1993
  2846.  
  2847.  
  2848.           -- units of conformance
  2849.  
  2850.           ifGeneralGroup    OBJECT-GROUP
  2851.               OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
  2852.                         ifAdminStatus, ifOperStatus, ifLastChange,
  2853.                         ifSpecific, ifLinkUpDownTrapEnable,
  2854.                         ifHighSpeed, ifExtnsChipSet, ifExtnsRevWare,
  2855.                         ifExtnsPromiscuous }
  2856.               STATUS  current
  2857.               DESCRIPTION
  2858.                       "A collection of objects providing information
  2859.                       applicable to all network interfaces."
  2860.               ::= { ifGroups 1 }
  2861.  
  2862.           ifCharacterGroup    OBJECT-GROUP
  2863.               OBJECTS { ifInOctets, ifOutOctets }
  2864.               STATUS  current
  2865.               DESCRIPTION
  2866.                       "A collection of objects providing information
  2867.                       specific to low and medium speed (less than or
  2868.                       equal to 20,000,000 bits/second) packet-oriented
  2869.                       or character-oriented network interfaces."
  2870.               ::= { ifGroups 2 }
  2871.  
  2872.           ifHCCharacterGroup    OBJECT-GROUP
  2873.               OBJECTS { ifHCInOctets, ifHCOutOctets }
  2874.               STATUS  current
  2875.               DESCRIPTION
  2876.                       "A collection of objects providing information
  2877.                       specific to high speed (greater than 20,000,000
  2878.                       bits/second) packet-oriented or character-oriented
  2879.                       network interfaces."
  2880.               ::= { ifGroups 3 }
  2881.  
  2882.           ifPacketGroup    OBJECT-GROUP
  2883.               OBJECTS { ifMtu, ifInUcastPkts, ifInMulticastPkts,
  2884.                         ifInBroadcastPkts, ifInDiscards, ifInErrors,
  2885.                         ifInUnknownProtos, ifOutUcastPkts,
  2886.                         ifOutMulticastPkts, ifOutBroadcastPkts,
  2887.                         ifOutDiscards, ifOutErrors, ifOutQLen }
  2888.               STATUS  current
  2889.               DESCRIPTION
  2890.                       "A collection of objects providing information
  2891.                       specific to low and medium speed (less than or
  2892.                       equal to 20,000,000 bits/second) packet-oriented
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.           Expires December 1993                                [Page 50]
  2899.  
  2900.  
  2901.  
  2902.  
  2903.           Draft             Interfaces Group Evolution         June 1993
  2904.  
  2905.  
  2906.                       network interfaces."
  2907.               ::= { ifGroups 4 }
  2908.  
  2909.           ifHCPacketGroup    OBJECT-GROUP
  2910.               OBJECTS { ifMtu, ifHCInUcastPkts, ifHCInMulticastPkts,
  2911.                         ifHCInBroadcastPkts, ifHCInDiscards, ifHCInErrors,
  2912.                         ifHCInUnknownProtos, ifHCOutUcastPkts,
  2913.                         ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
  2914.                         ifHCOutDiscards, ifHCOutErrors, ifHCOutQLen }
  2915.               STATUS  current
  2916.               DESCRIPTION
  2917.                       "A collection of objects providing information
  2918.                       specific to high speed (greater than 20,000,000
  2919.                       bits/second) packet-oriented network interfaces."
  2920.               ::= { ifGroups 5 }
  2921.  
  2922.           ifRcvAddressGroup    OBJECT-GROUP
  2923.               OBJECTS { ifRcvAddrStatus, ifRcvAddrType }
  2924.               STATUS  current
  2925.               DESCRIPTION
  2926.                       "A collection of objects providing information on
  2927.                       the multiple addresses which an interface
  2928.                       receives."
  2929.               ::= { ifGroups 6 }
  2930.  
  2931.           ifTestGroup    OBJECT-GROUP
  2932.               OBJECTS { ifExtnsTestCommunity, ifExtnsTestRequestId
  2933.                         ifExtnsTestType, ifExtnsTestResult,
  2934.                         ifExtnsTestCode, ifExtnsTestContext }
  2935.               STATUS  current
  2936.               DESCRIPTION
  2937.                       "A collection of objects providing the ability to
  2938.                       invoke tests on an interface."
  2939.               ::= { ifGroups 7 }
  2940.  
  2941.           ifStackGroup    OBJECT-GROUP
  2942.               OBJECTS { ifStackStatus }
  2943.               STATUS  current
  2944.               DESCRIPTION
  2945.                       "A collection of objects providing information on
  2946.                       the layering of MIB-II interfaces."
  2947.               ::= { ifGroups 8 }
  2948.  
  2949.           END
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.           Expires December 1993                                [Page 51]
  2957.  
  2958.  
  2959.  
  2960.  
  2961.           Draft             Interfaces Group Evolution         June 1993
  2962.  
  2963.  
  2964.           6.  Acknowledgements
  2965.  
  2966.           The proposals in this memo are the result of conversations and
  2967.           discussions with many people, including at least the
  2968.           following: Fred Baker, Ted Brunner, Chuck Davin, Jeremy
  2969.           Greene, Marshall Rose, Kaj Tesink, and Dean Throop.  However,
  2970.           it does not necessarily represent any consensus among the
  2971.           above-mentioned.
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.           Expires December 1993                                [Page 52]
  3015.  
  3016.  
  3017.  
  3018.  
  3019.           Draft             Interfaces Group Evolution         June 1993
  3020.  
  3021.  
  3022.           7.  References
  3023.  
  3024.           [1]  J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
  3025.                Structure of Management Information for version 2 of the
  3026.                Simple Network Management Protocol (SNMPv2), Request for
  3027.                Comments 1442, April 1993.
  3028.  
  3029.  
  3030.           [2]  J. Galvin, K. McCloghrie, Administrative Model for
  3031.                version 2 of the Simple Network Management Protocol
  3032.                (SNMPv2), Request for Comments 1448, April 1993.
  3033.  
  3034.  
  3035.           [3]  J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
  3036.                Protocol Operations for version 2 of the Simple Network
  3037.                Management Protocol (SNMPv2), Request for Comments 1448,
  3038.                April 1993.
  3039.  
  3040.  
  3041.           [4]  K. McCloghrie and M.T. Rose, Management Information Base
  3042.                for Network Management of TCP/IP-based internets - MIB-
  3043.                II, Request for Comments 1213.  March 1991.
  3044.  
  3045.  
  3046.           [5]  J.D. Case, M.S. Fedor, M.L. Schoffstall, and J.R. Davin,
  3047.                Simple Network Management Protocol, Request for Comments
  3048.                1157.  May 1990.
  3049.  
  3050.  
  3051.           [6]  J. Postel, Internet Protocol, Request for Comments 791,
  3052.                September 1981.
  3053.  
  3054.  
  3055.           [7]  K. McCloghrie, Extensions to the Generic-Interface MIB,
  3056.                Request for Comments 1229, May 1991.
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.           Expires December 1993                                [Page 53]
  3073.  
  3074.  
  3075.  
  3076.  
  3077.           Draft             Interfaces Group Evolution         June 1993
  3078.  
  3079.  
  3080.           8.  Security Considerations
  3081.  
  3082.           Security issues are not discussed in this memo.
  3083.  
  3084.  
  3085.           9.  Authors' Address
  3086.  
  3087.                Keith McCloghrie
  3088.                Hughes LAN Systems
  3089.                1225 Charleston Rd,
  3090.                Mountain View, Ca 94043
  3091.                415-966-7934
  3092.                kzm@hls.com
  3093.  
  3094.                Frank Kastenholz
  3095.                FTP Software
  3096.                2 High Street
  3097.                North Andover, Mass. USA 01845
  3098.                (508)685-4000
  3099.                kasten@ftp.com
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.           Expires December 1993                                [Page 54]
  3131.  
  3132.  
  3133.  
  3134.  
  3135.           Draft             Interfaces Group Evolution         June 1993
  3136.  
  3137.  
  3138.           Table of Contents
  3139.  
  3140.  
  3141.           1 Introduction ..........................................    2
  3142.           2 The SNMPv2 Network Management Framework ...............    3
  3143.           2.1 Object Definitions ..................................    3
  3144.           3 Experience with the Interfaces Group ..................    4
  3145.           3.1 Areas of Clarification/Revision .....................    4
  3146.           3.1.1 Interface Numbering ...............................    4
  3147.           3.1.2 Interface Sub-Layers ..............................    5
  3148.           3.1.3 Virtual Circuits ..................................    6
  3149.           3.1.4 Bit and Character Oriented Interfaces .............    6
  3150.           3.1.5 Counter Size ......................................    7
  3151.           3.1.6 Interface Speed ...................................    7
  3152.           3.1.7 Multicast/Broadcast Counters ......................    7
  3153.           3.2 Clarifications/Revisions ............................    7
  3154.           3.2.1 Interface Numbering ...............................    7
  3155.           3.2.2 Interface Sub-Layers ..............................    9
  3156.           3.2.3 Virtual Circuits ..................................   11
  3157.           3.2.4 Bit and Character Oriented Interfaces .............   12
  3158.           3.2.5 Counter Size ......................................   13
  3159.           3.2.6 Interface Speed ...................................   15
  3160.           3.2.7 Multicast/Broadcast Counters ......................   16
  3161.           4 Use of the Interface Test Table .......................   16
  3162.           5 Definitions ...........................................   19
  3163.           6 Acknowledgements ......................................   52
  3164.           7 References ............................................   53
  3165.           8 Security Considerations ...............................   54
  3166.           9 Authors' Address ......................................   54
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.           Expires December 1993                                [Page 55]
  3189.  
  3190.